diff --git a/src/lib/openjp2/jp2.c b/src/lib/openjp2/jp2.c index 17572195..484ed3b9 100644 --- a/src/lib/openjp2/jp2.c +++ b/src/lib/openjp2/jp2.c @@ -1042,7 +1042,7 @@ static OPJ_BOOL opj_jp2_apply_pclr(opj_image_t *image, OPJ_UINT32 *entries; opj_jp2_cmap_comp_t *cmap; OPJ_INT32 *src, *dst; - OPJ_UINT32 j, max; + OPJ_UINT32 j, max, newmax, oldmax; OPJ_UINT16 i, nr_channels, cmp, pcol; OPJ_INT32 k, top_k; @@ -1108,7 +1108,10 @@ static OPJ_BOOL opj_jp2_apply_pclr(opj_image_t *image, pcol = cmap[i].pcol; src = old_comps[cmp].data; assert(src); /* verified above */ - max = new_comps[pcol].w * new_comps[pcol].h; + oldmax = old_comps[cmp].w * old_comps[cmp].h; + newmax = new_comps[pcol].w * new_comps[pcol].h; + + max = oldmax < newmax ? oldmax : newmax; /* Direct use: */ if (cmap[i].mtyp == 0) {