Cast to size_t before multiplication
authorMatthieu Darbois <mayeut@users.noreply.github.com>
Thu, 8 Sep 2016 05:34:46 +0000 (07:34 +0200)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>
Tue, 13 Sep 2016 09:00:08 +0000 (11:00 +0200)
Need to cast to size_t before multiplication otherwise overflow check is useless.

src/lib/openjp2/pi.c

index 36e2ff0cfcda001bbef53e097517ca417386f321..809b33d731dca0b4df4868949d29a5a474cc2a3a 100644 (file)
@@ -1241,7 +1241,7 @@ opj_pi_iterator_t *opj_pi_create_decode(opj_image_t *p_image,
        l_current_pi->include = 00;
        if (l_step_l <= (SIZE_MAX / (l_tcp->numlayers + 1U)))
        {
-               l_current_pi->include = (OPJ_INT16*) opj_calloc((l_tcp->numlayers +1) * l_step_l, sizeof(OPJ_INT16));
+               l_current_pi->include = (OPJ_INT16*) opj_calloc((size_t)(l_tcp->numlayers + 1U) * l_step_l, sizeof(OPJ_INT16));
        }
 
        if