Correct fscanf char field count
authorAlan Modra <amodra@gmail.com>
Tue, 14 Oct 2014 03:00:57 +0000 (13:30 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 14 Oct 2014 03:34:11 +0000 (14:04 +1030)
%<number>s as an fscanf format does not include the trailing NULL.
PATH_MAX does include the trailing NULL.

PR 17453
* readelf.c (process_program_headers): Correct fscanf format used
for interpreter.

binutils/ChangeLog
binutils/readelf.c

index 34d65fc..b6800f1 100644 (file)
@@ -1,3 +1,9 @@
+2014-10-14  Alan Modra  <amodra@gmail.com>
+
+       PR 17453
+       * readelf.c (process_program_headers): Correct fscanf format used
+       for interpreter.
+
 2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * readelf.c (display_sparc_hwcaps2): New function.
 
 2014-03-14  Meador Inge  <meadori@codesourcery.com>
 
-         * dwarf.c (strnlen): Move prototype ...
-        * sysdep.h (strnlen): ... to here.
+       * dwarf.c (strnlen): Move prototype ...
+       * sysdep.h (strnlen): ... to here.
 
 2014-03-12  Nick Clifton  <nickc@redhat.com>
 
index 3cf46d8..58ccd93 100644 (file)
@@ -4394,7 +4394,7 @@ process_program_headers (FILE * file)
          else
            {
              char fmt [32];
-             int ret = snprintf (fmt, sizeof (fmt), "%%%ds", PATH_MAX);
+             int ret = snprintf (fmt, sizeof (fmt), "%%%ds", PATH_MAX - 1);
 
              if (ret >= (int) sizeof (fmt) || ret < 0)
                error (_("Internal error: failed to create format string to display program interpreter\n"));