Fix warnings from recent overflow checks
[openjpeg.git] / src / lib / openjp2 / t1.c
index 211708fcff65e20fe5cbd31dc690489584863b6f..bd3acf7e0a9dd2f215fb0ec3cf386c7eb77009fd 100644 (file)
@@ -1166,37 +1166,37 @@ static OPJ_BOOL opj_t1_allocate_buffers(
                OPJ_UINT32 w,
                OPJ_UINT32 h)
 {
-       OPJ_UINT32 flagssize;
+    size_t flagssize;
 
        /* encoder uses tile buffer, so no need to allocate */
        if (!t1->encoder) {
-               OPJ_UINT32 datasize;
+        size_t datasize;
                
                /* Overflow check */
                if ((w > 0U) && (h > (0xFFFFFFFFU /* UINT32_MAX */ / w))) {
                        /* FIXME event manager error callback */
                        return OPJ_FALSE;
                }
-               datasize = w * h;
+        datasize = (size_t) w * h;
                
                /* Overflow check */
-               if ((size_t)datasize > (SIZE_MAX / sizeof(OPJ_INT32))) {
+        if (datasize > (SIZE_MAX / sizeof(OPJ_INT32))) {
                        /* FIXME event manager error callback */
                        return OPJ_FALSE;
                }
                
-               if(datasize > t1->datasize){
+        if(datasize > (size_t) t1->datasize){
                        opj_aligned_free(t1->data);
-                       t1->data = (OPJ_INT32*) opj_aligned_malloc((size_t)datasize * sizeof(OPJ_INT32));
+            t1->data = (OPJ_INT32*) opj_aligned_malloc(datasize * sizeof(OPJ_INT32));
                        if(!t1->data){
                                /* FIXME event manager error callback */
                                return OPJ_FALSE;
                        }
-                       t1->datasize = datasize;
+            t1->datasize = (OPJ_UINT32) datasize;
                }
                /* memset first arg is declared to never be null by gcc */
                if (t1->data != NULL) {
-                       memset(t1->data, 0, (size_t)datasize * sizeof(OPJ_INT32));
+            memset(t1->data, 0, datasize * sizeof(OPJ_INT32));
                }
        }
        
@@ -1210,24 +1210,24 @@ static OPJ_BOOL opj_t1_allocate_buffers(
                /* FIXME event manager error callback */
                return OPJ_FALSE;
        }
-       flagssize = t1->flags_stride * (h + 2U);
+    flagssize = (size_t) t1->flags_stride * (h + 2U);
 
        /* Overflow check */
-       if ((size_t)flagssize > (SIZE_MAX / sizeof(opj_flag_t))) {
+    if (flagssize > (SIZE_MAX / sizeof(opj_flag_t))) {
                /* FIXME event manager error callback */
                return OPJ_FALSE;
        }
        
-       if(flagssize > t1->flagssize){
+    if(flagssize > (size_t) t1->flagssize){
                opj_aligned_free(t1->flags);
-               t1->flags = (opj_flag_t*) opj_aligned_malloc((size_t)flagssize * sizeof(opj_flag_t));
+        t1->flags = (opj_flag_t*) opj_aligned_malloc(flagssize * sizeof(opj_flag_t));
                if(!t1->flags){
                        /* FIXME event manager error callback */
                        return OPJ_FALSE;
                }
-               t1->flagssize = flagssize;
+        t1->flagssize = (OPJ_UINT32) flagssize;
        }
-       memset(t1->flags, 0, (size_t)flagssize * sizeof(opj_flag_t));
+    memset(t1->flags, 0, flagssize * sizeof(opj_flag_t));
 
        t1->w = w;
        t1->h = h;