Change in imagetopnm of convert.c in case image->comps[].data is NULL

This commit is contained in:
szukw000 2018-10-18 15:01:13 +02:00
parent cd900d9661
commit 161caf573a
2 changed files with 30 additions and 5 deletions

View File

@ -2021,7 +2021,7 @@ int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
int *red, *green, *blue, *alpha; int *red, *green, *blue, *alpha;
int wr, hr, max; int wr, hr, max;
int i; int i;
unsigned int compno, ncomp; unsigned int compno, ncomp, ui;
int adjustR, adjustG, adjustB, adjustA; int adjustR, adjustG, adjustB, adjustA;
int fails, two, want_gray, has_alpha, triple; int fails, two, want_gray, has_alpha, triple;
int prec, v; int prec, v;
@ -2029,6 +2029,18 @@ int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
const char *tmp = outfile; const char *tmp = outfile;
char *destname; char *destname;
fails = 0;
ncomp = image->numcomps;
for (ui = 0; ui < ncomp; ++ui) {
if (image->comps[ui].data == NULL) {
fprintf(stderr, "imagetopnm data[%u] == NULL\n", ui);
fails = 1;
}
}
if (fails) {
return 1;
}
alpha = NULL; alpha = NULL;
if ((prec = (int)image->comps[0].prec) > 16) { if ((prec = (int)image->comps[0].prec) > 16) {

View File

@ -538,12 +538,25 @@ static int infile_format(const char *fname)
return ext_format; return ext_format;
} }
s = fname + strlen(fname) - 4; s = fname + strlen(fname) - 1;
fputs("\n===========================================\n", stderr); #ifdef WIN32
while (s > fname && (*s != '.' && *s != '\\')) {
--s;
}
#else
while (s > fname && (*s != '.' && *s != '/')) {
--s;
}
#endif
if (*s != '.') {
s = "";
}
fputs("\n===============================================\n", stderr);
fprintf(stderr, "The extension of this file is incorrect.\n" fprintf(stderr, "The extension of this file is incorrect.\n"
"FOUND %s. SHOULD BE %s\n", s, magic_s); " FOUND '%s'. SHOULD BE '%s'", s, magic_s);
fputs("===========================================\n", stderr); fputs("\n===============================================\n", stderr);
return magic_format; return magic_format;
} }