| Index: core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c
|
| diff --git a/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c b/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c
|
| index 73dc5ab6fd4ced676b3b7efc9d22623a0cade63a..c40ecc370d83afa645e4328f528a3e6f2182856c 100644
|
| --- a/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c
|
| +++ b/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c
|
| @@ -7352,6 +7352,12 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
| /* Initialize some values of the current tile coding parameters*/
|
| l_tcp->ppt = 0;
|
| l_tcp->ppt_data = 00;
|
| + /* Remove memory not owned by this tile in case of early error return. */
|
| + l_tcp->m_mct_decoding_matrix = 00;
|
| + l_tcp->m_nb_max_mct_records = 0;
|
| + l_tcp->m_mct_records = 00;
|
| + l_tcp->m_nb_max_mcc_records = 0;
|
| + l_tcp->m_mcc_records = 00;
|
| /* Reconnect the tile-compo coding parameters pointer to the current tile coding parameters*/
|
| l_tcp->tccps = l_current_tccp;
|
|
|
| @@ -7389,6 +7395,9 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
|
|
| ++l_src_mct_rec;
|
| ++l_dest_mct_rec;
|
| +
|
| + /* Update with each pass to free exactly what has been allocated on early return. */
|
| + l_tcp->m_nb_max_mct_records += 1;
|
| }
|
|
|
| /* Get the mcc_record of the dflt_tile_cp and copy them into the current tile cp*/
|
| @@ -7398,6 +7407,7 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
| return OPJ_FALSE;
|
| }
|
| memcpy(l_tcp->m_mcc_records,l_default_tcp->m_mcc_records,l_mcc_records_size);
|
| + l_tcp->m_nb_max_mcc_records = l_default_tcp->m_nb_max_mcc_records;
|
|
|
| /* Copy the mcc record data from dflt_tile_cp to the current tile*/
|
| l_src_mcc_rec = l_default_tcp->m_mcc_records;
|
|
|