opj_compress: reorder checks related to code block dimensions, to avoid potential...
authorEven Rouault <even.rouault@spatialys.com>
Mon, 21 Aug 2017 21:21:39 +0000 (23:21 +0200)
committerEven Rouault <even.rouault@spatialys.com>
Fri, 1 Sep 2017 08:26:53 +0000 (10:26 +0200)
src/bin/jp2/opj_compress.c

index 494b366a7211d7cd3796b55299568e3b8a2a29bd..ab07fbb50d990407fc4ced9b1b700b81e348668a 100644 (file)
@@ -907,8 +907,9 @@ static int parse_cmdline_encoder(int argc, char **argv,
         case 'b': {         /* code-block dimension */
             int cblockw_init = 0, cblockh_init = 0;
             sscanf(opj_optarg, "%d,%d", &cblockw_init, &cblockh_init);
-            if (cblockw_init * cblockh_init > 4096 || cblockw_init > 1024
-                    || cblockw_init < 4 || cblockh_init > 1024 || cblockh_init < 4) {
+            if (cblockw_init > 1024 || cblockw_init < 4 ||
+                    cblockh_init > 1024 || cblockh_init < 4 ||
+                    cblockw_init * cblockh_init > 4096) {
                 fprintf(stderr,
                         "!! Size of code_block error (option -b) !!\n\nRestriction :\n"
                         "    * width*height<=4096\n    * 4<=width,height<= 1024\n\n");