aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--elf/chroot_canon.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fbef6bc..d5d7cb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;