diff options
-rw-r--r-- | trunk/ChangeLog.cross | 6 | ||||
-rw-r--r-- | trunk/src/ld-libs.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/trunk/ChangeLog.cross b/trunk/ChangeLog.cross index 7e5d2e3..33f9a85 100644 --- a/trunk/ChangeLog.cross +++ b/trunk/ChangeLog.cross @@ -1,3 +1,9 @@ +2009-04-27 Maciej W. Rozycki <macro@codesourcery.com> + Issue #5165 + * src/ld-libs.c (load_ld_so_conf): Fix a buffer overrun. Don't + record empty paths. + + 2009-04-23 Maciej W. Rozycki <macro@codesourcery.com> Issue #5165 diff --git a/trunk/src/ld-libs.c b/trunk/src/ld-libs.c index f5cf629..fe758b8 100644 --- a/trunk/src/ld-libs.c +++ b/trunk/src/ld-libs.c @@ -390,10 +390,11 @@ load_ld_so_conf (int use_64bit, int use_mipsn32) if (p) *p = 0; len = strlen (buf); - while (isspace (buf[len - 1])) + while (len > 0 && isspace (buf[len - 1])) buf[--len] = 0; - add_dir (&ld_dirs, buf, len); + if (len > 0) + add_dir (&ld_dirs, buf, len); } fclose (conf); } |