[trunk] Make sure to exit early instead of looping on every single pixels
authorMathieu Malaterre <mathieu.malaterre@gmail.com>
Mon, 24 Mar 2014 16:01:51 +0000 (16:01 +0000)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>
Mon, 24 Mar 2014 16:01:51 +0000 (16:01 +0000)
src/bin/jp2/convert.c

index 2ab6d628ef2f1db2d18b4eac161efeaf2efe0430..e5a8b0bb380024fa03c2b99f9effca394ae4ae83 100644 (file)
@@ -1867,8 +1867,12 @@ opj_image_t* pnmtoimage(const char *filename, opj_cparameters_t *parameters) {
             {
                 for(compno = 0; compno < numcomps; compno++)
                 {
-                    if ( !fread(&c0, 1, 1, fp) )
-                        fprintf(stderr, "\nError: fread return a number of element different from the expected.\n");
+                if ( !fread(&c0, 1, 1, fp) )
+                  {
+                  fprintf(stderr, "\nError: fread return a number of element different from the expected.\n");
+                  opj_image_destroy(image);
+                  return NULL;
+                  }
                     if(one)
                     {
                         image->comps[compno].data[i] = c0;