diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-11-04 10:21:15 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-11-04 10:25:00 +0100 |
commit | 10fb0bfab13b7cd6cd9b22c2edced0fd3a3b8b32 (patch) | |
tree | 9fa2633490564537fe5b208c7d9b836c814e1e68 | |
parent | a9ae54a136d743103cd9e266c7d22769ea440c09 (diff) | |
download | glibc-10fb0bfab13b7cd6cd9b22c2edced0fd3a3b8b32.tar glibc-10fb0bfab13b7cd6cd9b22c2edced0fd3a3b8b32.tar.gz glibc-10fb0bfab13b7cd6cd9b22c2edced0fd3a3b8b32.tar.bz2 glibc-10fb0bfab13b7cd6cd9b22c2edced0fd3a3b8b32.zip |
Fix off-by-one when reading link name in sprof
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | elf/sprof.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +2011-11-04 Andreas Schwab <schwab@redhat.com> + + * elf/sprof.c (load_shobj): Fix off-by-one when reading link name. + 2011-11-03 Andreas Schwab <schwab@redhat.com> * nscd/nscd.c (main): Don't start AVC thread until credentials are diff --git a/elf/sprof.c b/elf/sprof.c index 61825999a7..c90c22c265 100644 --- a/elf/sprof.c +++ b/elf/sprof.c @@ -597,7 +597,7 @@ load_shobj (const char *name) char origprocname[sizeof (procpath) + sizeof (int) * 3]; snprintf (origprocname, sizeof (origprocname), procpath, fd); char *origlink = (char *) alloca (PATH_MAX); - ssize_t n = readlink (origprocname, origlink, PATH_MAX); + ssize_t n = readlink (origprocname, origlink, PATH_MAX - 1); if (n == -1) goto no_debuginfo; origlink[n] = '\0'; |