Remove double "//" when listing attributes in the root directory or
when there is a trailing '/' in the directory name. (Addresses Debian
Bug #272943)
diff --git a/misc/lsattr.c b/misc/lsattr.c
index ff3859f..093f50f 100644
--- a/misc/lsattr.c
+++ b/misc/lsattr.c
@@ -125,10 +125,14 @@
{
STRUCT_STAT st;
char *path;
+ int dir_len = strlen(dir_name);
- path = malloc(strlen (dir_name) + 1 + strlen (de->d_name) + 1);
+ path = malloc(dir_len + strlen (de->d_name) + 2);
- sprintf (path, "%s/%s", dir_name, de->d_name);
+ if (dir_len && dir_name[dir_len-1] == '/')
+ sprintf (path, "%s%s", dir_name, de->d_name);
+ else
+ sprintf (path, "%s/%s", dir_name, de->d_name);
if (LSTAT (path, &st) == -1)
perror (path);
else {