]> granicus.if.org Git - openjpeg/commitdiff
fix incrementing of "l_tcp->m_nb_mcc_records" in opj_j2k_read_mcc (#820)
authorMatthieu Darbois <mayeut@users.noreply.github.com>
Tue, 6 Sep 2016 20:33:26 +0000 (22:33 +0200)
committerGitHub <noreply@github.com>
Tue, 6 Sep 2016 20:33:26 +0000 (22:33 +0200)
src/lib/openjp2/j2k.c

index 01d1a4fff1f2b05e715786faad6915cea2c5020b..1cff598c37c829ffe9355576bc71e4743b2b52ec 100644 (file)
@@ -5405,6 +5405,7 @@ static OPJ_BOOL opj_j2k_read_mcc (     opj_j2k_t *p_j2k,
         OPJ_UINT32 l_nb_collections;
         OPJ_UINT32 l_nb_comps;
         OPJ_UINT32 l_nb_bytes_by_comp;
+        OPJ_BOOL l_new_mcc = OPJ_FALSE;
 
         /* preconditions */
         assert(p_header_data != 00);
@@ -5466,6 +5467,7 @@ static OPJ_BOOL opj_j2k_read_mcc (     opj_j2k_t *p_j2k,
                         memset(l_mcc_record,0,(l_tcp->m_nb_max_mcc_records-l_tcp->m_nb_mcc_records) * sizeof(opj_simple_mcc_decorrelation_data_t));
                 }
                 l_mcc_record = l_tcp->m_mcc_records + l_tcp->m_nb_mcc_records;
+                l_new_mcc = OPJ_TRUE;
         }
         l_mcc_record->m_index = l_indix;
 
@@ -5601,7 +5603,9 @@ static OPJ_BOOL opj_j2k_read_mcc (     opj_j2k_t *p_j2k,
                 return OPJ_FALSE;
         }
 
-        ++l_tcp->m_nb_mcc_records;
+        if (l_new_mcc) {
+                ++l_tcp->m_nb_mcc_records;
+        }
 
         return OPJ_TRUE;
 }