]> granicus.if.org Git - openjpeg/commitdiff
[trunk] WIP: correct some segfault with win platform and remove a aligned allocation...
authorMickael Savinaud <savmickael@users.noreply.github.com>
Tue, 11 Oct 2011 10:09:02 +0000 (10:09 +0000)
committerMickael Savinaud <savmickael@users.noreply.github.com>
Tue, 11 Oct 2011 10:09:02 +0000 (10:09 +0000)
CHANGES
libopenjpeg/jp2.c
libopenjpeg/tcd.c

diff --git a/CHANGES b/CHANGES
index 75a962fa57776a11cb183bae5a64ed5cfe38bc4b..e7b18f2aca3a37de81dbf9706789d4eb0114c20c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ What's New for OpenJPEG
 + : added
 
 October 11, 2011
+* [mickael] WIP: correct some segfault with win platform and remove a aligned allocation which produce error when a realloc is done on this pointer.
 * [mickael] WIP: add stream length value to read unknown marker size, backport 855 into V2 framework, correct memory leak into get_cstr_info
 * [mickael] WIP: add output elements about decoding of jp2 files with last tile part lenght equal zero
 * [mickael] WIP: correct mistake with JP2 files and manage correctly the text_GBR.jp2 filecase
index d29e060a51ab64ad802e9718d60e851b3c3dde9d..9263950fb9ca55831efadaffe84c780a3da409fe 100644 (file)
@@ -2632,6 +2632,13 @@ opj_jp2_v2_t* jp2_create(opj_bool p_is_decoder)
                        return 00;
                }
 
+               /* Color structure */
+               jp2->color.icc_profile_buf = NULL;
+               jp2->color.icc_profile_len = 0;
+               jp2->color.jp2_cdef = NULL;
+               jp2->color.jp2_pclr = NULL;
+               jp2->color.jp2_has_colr = 0;
+
                // validation list creation
                jp2->m_validation_list = opj_procedure_list_create();
                if (! jp2->m_validation_list) {
index e3a7dd3222251a03456af2e9848eb73b8f4e2762..06724c842399e91c99c8b9b7812d7fad6f9576a5 100644 (file)
@@ -1714,7 +1714,7 @@ opj_bool FUNCTION (       opj_tcd_v2_t *p_tcd,                                                                            \
                }                                                                                                                                               \
                                                                                                                                                                \
                if (l_tilec->data == 00) {                                                                                              \
-            l_tilec->data = (OPJ_INT32 *) opj_aligned_malloc(l_data_size);             \
+            l_tilec->data = (OPJ_INT32 *) opj_malloc(l_data_size);             \
                        if (! l_tilec->data ) {                                                                                         \
                                return OPJ_FALSE;                                                                                               \
                        }                                                                                                                                       \
@@ -2301,7 +2301,7 @@ void tcd_free_tile(opj_tcd_v2_t *p_tcd)
                }
 
                if (l_tile_comp->data) {
-                       opj_aligned_free(l_tile_comp->data);
+                       opj_free(l_tile_comp->data);
                        l_tile_comp->data = 00;
                }
                ++l_tile_comp;