Fix snafu parsing $ORIGIN.
authorNick Clifton <nickc@redhat.com>
Thu, 24 Nov 2016 10:00:20 +0000 (10:00 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 24 Nov 2016 10:00:20 +0000 (10:00 +0000)
PR ld/20858
* emultempl/elf32.em (_search_needed): Allow for path separator
and terminating NUL byte when allocating space for new $ORIGIN
path.

ld/ChangeLog
ld/emultempl/elf32.em

index 9c5eb40..0747409 100644 (file)
@@ -1,3 +1,10 @@
+2016-11-24  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/20858
+       * emultempl/elf32.em (_search_needed): Allow for path separator
+       and terminating NUL byte when allocating space for new $ORIGIN
+       path.
+
 2016-11-23  Nick Clifton  <nickc@redhat.com>
 
        * testsuite/ld-arm/vxworks2.sd: Update expected readelf output.
index 8c63638..f5cb3ee 100644 (file)
@@ -585,7 +585,7 @@ gld${EMULATION_NAME}_search_needed (const char *path,
                        {
                          char * current_dir = getpwd ();
 
-                         freeme = xmalloc (strlen (replacement) + strlen (current_dir));
+                         freeme = xmalloc (strlen (replacement) + strlen (current_dir) + 2);
                          sprintf (freeme, "%s/%s", current_dir, replacement);
                        }