diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | elf/chroot_canon.c | 5 |
2 files changed, 4 insertions, 3 deletions
@@ -1,5 +1,7 @@ 2011-10-29 Ulrich Drepper <drepper@gmail.com> + * elf/chroot_canon.c (chroot_canon): Cleanups. + * elf/dl-lookup.c (_dl_setup_hash): Avoid warning. [BZ #13335] diff --git a/elf/chroot_canon.c b/elf/chroot_canon.c index b639cfa..f8f3370 100644 --- a/elf/chroot_canon.c +++ b/elf/chroot_canon.c @@ -70,7 +70,6 @@ chroot_canon (const char *chroot, const char *name) for (start = end = name; *start; start = end) { struct stat64 st; - int n; /* Skip sequence of multiple path-separators. */ while (*start == '/') @@ -135,7 +134,7 @@ chroot_canon (const char *chroot, const char *name) goto error; } - n = readlink (rpath, buf, PATH_MAX - 1); + ssize_t n = readlink (rpath, buf, PATH_MAX - 1); if (n < 0) { if (*end == '\0') @@ -148,7 +147,7 @@ chroot_canon (const char *chroot, const char *name) extra_buf = alloca (PATH_MAX); len = strlen (end); - if ((long int) (n + len) >= PATH_MAX) + if (len >= PATH_MAX - n) { __set_errno (ENAMETOOLONG); goto error; |