[2/2] alfred: Remove bogus length check in debugfs_make_path

Message ID 1450101627-9692-2-git-send-email-sven@narfation.org (mailing list archive)
State Accepted, archived
Commit bcd33e64f6c84e62ab5e8517d6611abd7410640e
Headers

Commit Message

Sven Eckelmann Dec. 14, 2015, 2 p.m. UTC
  The length check never used the mesh_iface length in the size calculation.
Instead it used the length of the mountpoint and the format string. But the
length of the format string is not the length of the final string.

Instead remove this check and depend completely on the return value of
snprintf.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
 debugfs.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
  

Comments

Simon Wunderlich Dec. 16, 2015, 6:04 p.m. UTC | #1
On Monday 14 December 2015 15:00:27 Sven Eckelmann wrote:
> The length check never used the mesh_iface length in the size calculation.
> Instead it used the length of the mountpoint and the format string. But the
> length of the format string is not the length of the final string.
> 
> Instead remove this check and depend completely on the return value of
> snprintf.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>

Applied in revision bcd33e6.

Thanks!
    Simon
  

Patch

diff --git a/debugfs.c b/debugfs.c
index 6404b49..fc39322 100644
--- a/debugfs.c
+++ b/debugfs.c
@@ -46,19 +46,12 @@  static const char *debugfs_known_mountpoints[] = {
 int debugfs_make_path(const char *fmt, const char *mesh_iface, char *buffer,
 		      int size)
 {
-	int len;
-
 	if (strlen(debugfs_mountpoint) == 0) {
 		buffer[0] = '\0';
 		return -1;
 	}
 
-	len = strlen(debugfs_mountpoint) + strlen(fmt) + 1;
-	if (len >= size)
-		return len+1;
-
-	snprintf(buffer, size-1, fmt, debugfs_mountpoint, mesh_iface);
-	return 0;
+	return snprintf(buffer, size, fmt, debugfs_mountpoint, mesh_iface);
 }
 
 static int debugfs_found;