Correct fscanf char field count

%<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.
This commit is contained in:
Alan Modra 2014-10-14 13:30:57 +10:30
parent daf5e10e4c
commit 9495b2e66f
2 changed files with 9 additions and 3 deletions

View 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"));