pnmdec: sanitize invalid header output

Change-Id: I034cb00047f725e1cd106d3677db567f1efa0847
This commit is contained in:
James Zern 2017-05-15 02:39:24 -07:00
parent d78e5867ff
commit 497dc6a70d

View File

@ -12,6 +12,7 @@
#include "./pnmdec.h" #include "./pnmdec.h"
#include <assert.h> #include <assert.h>
#include <ctype.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -106,7 +107,11 @@ static size_t ReadPAMFields(PNMInfo* const info, size_t off) {
break; break;
} else { } else {
static const char kEllipsis[] = " ..."; static const char kEllipsis[] = " ...";
int i;
if (out_size > 20) sprintf(out + 20 - strlen(kEllipsis), kEllipsis); if (out_size > 20) sprintf(out + 20 - strlen(kEllipsis), kEllipsis);
for (i = 0; i < (int)strlen(out); ++i) {
if (!isprint(out[i])) out[i] = ' ';
}
fprintf(stderr, "PAM header error: unrecognized entry [%s]\n", out); fprintf(stderr, "PAM header error: unrecognized entry [%s]\n", out);
return 0; return 0;
} }