From d272e7f19dc2dae6d215f6ca6512d042575ed736 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 29 Oct 2011 12:43:18 -0400 Subject: Cleanups in ldconfig's chroot handling --- elf/chroot_canon.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'elf') diff --git a/elf/chroot_canon.c b/elf/chroot_canon.c index b639cfa82d..f8f3370493 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; -- cgit v1.2.3