aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--elf/sprof.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a65182a..6622603 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 6182599..c90c22c 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';