Page Menu
Home
Solus
Search
Configure Global Search
Log In
Files
F11023367
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
25 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/abi_symbols b/abi_symbols
index cca050c..b2ff8bb 100644
--- a/abi_symbols
+++ b/abi_symbols
@@ -1,229 +1,224 @@
libopenjp2.so.7:j2k_destroy_cstr_index
libopenjp2.so.7:j2k_dump
libopenjp2.so.7:j2k_dump_image_comp_header
libopenjp2.so.7:j2k_dump_image_header
libopenjp2.so.7:j2k_get_cstr_index
libopenjp2.so.7:j2k_get_cstr_info
libopenjp2.so.7:jp2_dump
libopenjp2.so.7:jp2_get_cstr_index
libopenjp2.so.7:jp2_get_cstr_info
libopenjp2.so.7:opj_aligned_free
libopenjp2.so.7:opj_aligned_malloc
libopenjp2.so.7:opj_aligned_realloc
libopenjp2.so.7:opj_alloc_tile_component_data
libopenjp2.so.7:opj_bio_create
libopenjp2.so.7:opj_bio_destroy
libopenjp2.so.7:opj_bio_flush
libopenjp2.so.7:opj_bio_inalign
libopenjp2.so.7:opj_bio_init_dec
libopenjp2.so.7:opj_bio_init_enc
libopenjp2.so.7:opj_bio_numbytes
libopenjp2.so.7:opj_bio_read
libopenjp2.so.7:opj_bio_write
libopenjp2.so.7:opj_calculate_norms
libopenjp2.so.7:opj_calloc
libopenjp2.so.7:opj_clock
libopenjp2.so.7:opj_copy_image_header
libopenjp2.so.7:opj_create_compress
libopenjp2.so.7:opj_create_decompress
libopenjp2.so.7:opj_decode
libopenjp2.so.7:opj_decode_tile_data
libopenjp2.so.7:opj_destroy_codec
libopenjp2.so.7:opj_destroy_cstr_index
libopenjp2.so.7:opj_destroy_cstr_info
libopenjp2.so.7:opj_dump_codec
libopenjp2.so.7:opj_dwt_calc_explicit_stepsizes
libopenjp2.so.7:opj_dwt_decode
libopenjp2.so.7:opj_dwt_decode_real
libopenjp2.so.7:opj_dwt_encode
libopenjp2.so.7:opj_dwt_encode_real
libopenjp2.so.7:opj_dwt_getgain
libopenjp2.so.7:opj_dwt_getgain_real
libopenjp2.so.7:opj_dwt_getnorm
libopenjp2.so.7:opj_dwt_getnorm_real
libopenjp2.so.7:opj_encode
libopenjp2.so.7:opj_end_compress
libopenjp2.so.7:opj_end_decompress
libopenjp2.so.7:opj_event_msg
libopenjp2.so.7:opj_free
libopenjp2.so.7:opj_get_cstr_index
libopenjp2.so.7:opj_get_cstr_info
libopenjp2.so.7:opj_get_decoded_tile
libopenjp2.so.7:opj_image_comp_header_update
libopenjp2.so.7:opj_image_create
libopenjp2.so.7:opj_image_create0
libopenjp2.so.7:opj_image_destroy
libopenjp2.so.7:opj_image_tile_create
libopenjp2.so.7:opj_j2k_convert_progression_order
libopenjp2.so.7:opj_j2k_create_compress
libopenjp2.so.7:opj_j2k_create_decompress
libopenjp2.so.7:opj_j2k_decode
libopenjp2.so.7:opj_j2k_decode_tile
libopenjp2.so.7:opj_j2k_destroy
libopenjp2.so.7:opj_j2k_encode
libopenjp2.so.7:opj_j2k_end_compress
libopenjp2.so.7:opj_j2k_end_decompress
libopenjp2.so.7:opj_j2k_get_tile
libopenjp2.so.7:opj_j2k_read_header
libopenjp2.so.7:opj_j2k_read_tile_header
libopenjp2.so.7:opj_j2k_set_decode_area
libopenjp2.so.7:opj_j2k_set_decoded_resolution_factor
libopenjp2.so.7:opj_j2k_setup_decoder
libopenjp2.so.7:opj_j2k_setup_encoder
libopenjp2.so.7:opj_j2k_setup_mct_encoding
libopenjp2.so.7:opj_j2k_start_compress
libopenjp2.so.7:opj_j2k_write_tile
libopenjp2.so.7:opj_jp2_create
libopenjp2.so.7:opj_jp2_decode
libopenjp2.so.7:opj_jp2_decode_tile
-libopenjp2.so.7:opj_jp2_default_validation
libopenjp2.so.7:opj_jp2_destroy
libopenjp2.so.7:opj_jp2_encode
libopenjp2.so.7:opj_jp2_end_compress
libopenjp2.so.7:opj_jp2_end_decompress
libopenjp2.so.7:opj_jp2_get_tile
libopenjp2.so.7:opj_jp2_read_header
libopenjp2.so.7:opj_jp2_read_tile_header
libopenjp2.so.7:opj_jp2_set_decode_area
libopenjp2.so.7:opj_jp2_set_decoded_resolution_factor
libopenjp2.so.7:opj_jp2_setup_decoder
libopenjp2.so.7:opj_jp2_setup_encoder
-libopenjp2.so.7:opj_jp2_skip_jp2c
libopenjp2.so.7:opj_jp2_start_compress
-libopenjp2.so.7:opj_jp2_write_jp2h
libopenjp2.so.7:opj_jp2_write_tile
libopenjp2.so.7:opj_malloc
libopenjp2.so.7:opj_matrix_inversion_f
libopenjp2.so.7:opj_mct_decode
libopenjp2.so.7:opj_mct_decode_custom
libopenjp2.so.7:opj_mct_decode_real
libopenjp2.so.7:opj_mct_encode
libopenjp2.so.7:opj_mct_encode_custom
libopenjp2.so.7:opj_mct_encode_real
libopenjp2.so.7:opj_mct_get_mct_norms
libopenjp2.so.7:opj_mct_get_mct_norms_real
libopenjp2.so.7:opj_mct_getnorm
libopenjp2.so.7:opj_mct_getnorm_real
libopenjp2.so.7:opj_mqc_bypass_enc
libopenjp2.so.7:opj_mqc_bypass_flush_enc
libopenjp2.so.7:opj_mqc_bypass_init_enc
libopenjp2.so.7:opj_mqc_create
libopenjp2.so.7:opj_mqc_decode
libopenjp2.so.7:opj_mqc_destroy
libopenjp2.so.7:opj_mqc_encode
libopenjp2.so.7:opj_mqc_erterm_enc
libopenjp2.so.7:opj_mqc_flush
libopenjp2.so.7:opj_mqc_init_dec
libopenjp2.so.7:opj_mqc_init_enc
libopenjp2.so.7:opj_mqc_numbytes
libopenjp2.so.7:opj_mqc_reset_enc
libopenjp2.so.7:opj_mqc_resetstates
libopenjp2.so.7:opj_mqc_restart_enc
libopenjp2.so.7:opj_mqc_restart_init_enc
libopenjp2.so.7:opj_mqc_segmark_enc
libopenjp2.so.7:opj_mqc_setstate
-libopenjp2.so.7:opj_pi_check_next_level
libopenjp2.so.7:opj_pi_create_decode
libopenjp2.so.7:opj_pi_create_encode
libopenjp2.so.7:opj_pi_destroy
libopenjp2.so.7:opj_pi_initialise_encode
libopenjp2.so.7:opj_pi_next
libopenjp2.so.7:opj_pi_update_encoding_parameters
libopenjp2.so.7:opj_procedure_list_add_procedure
libopenjp2.so.7:opj_procedure_list_clear
libopenjp2.so.7:opj_procedure_list_create
libopenjp2.so.7:opj_procedure_list_destroy
libopenjp2.so.7:opj_procedure_list_get_first_procedure
libopenjp2.so.7:opj_procedure_list_get_nb_procedures
libopenjp2.so.7:opj_raw_create
libopenjp2.so.7:opj_raw_decode
libopenjp2.so.7:opj_raw_destroy
libopenjp2.so.7:opj_raw_init_dec
libopenjp2.so.7:opj_raw_numbytes
libopenjp2.so.7:opj_read_bytes_BE
libopenjp2.so.7:opj_read_bytes_LE
libopenjp2.so.7:opj_read_double_BE
libopenjp2.so.7:opj_read_double_LE
libopenjp2.so.7:opj_read_float_BE
libopenjp2.so.7:opj_read_float_LE
libopenjp2.so.7:opj_read_header
libopenjp2.so.7:opj_read_tile_header
libopenjp2.so.7:opj_realloc
libopenjp2.so.7:opj_set_MCT
libopenjp2.so.7:opj_set_decode_area
libopenjp2.so.7:opj_set_decoded_resolution_factor
libopenjp2.so.7:opj_set_default_decoder_parameters
libopenjp2.so.7:opj_set_default_encoder_parameters
libopenjp2.so.7:opj_set_default_event_handler
libopenjp2.so.7:opj_set_error_handler
libopenjp2.so.7:opj_set_info_handler
libopenjp2.so.7:opj_set_warning_handler
libopenjp2.so.7:opj_setup_decoder
libopenjp2.so.7:opj_setup_encoder
libopenjp2.so.7:opj_start_compress
libopenjp2.so.7:opj_stream_create
libopenjp2.so.7:opj_stream_create_default_file_stream
libopenjp2.so.7:opj_stream_create_file_stream
libopenjp2.so.7:opj_stream_default_create
libopenjp2.so.7:opj_stream_default_read
libopenjp2.so.7:opj_stream_default_seek
libopenjp2.so.7:opj_stream_default_skip
libopenjp2.so.7:opj_stream_default_write
libopenjp2.so.7:opj_stream_destroy
libopenjp2.so.7:opj_stream_flush
libopenjp2.so.7:opj_stream_get_number_byte_left
libopenjp2.so.7:opj_stream_has_seek
libopenjp2.so.7:opj_stream_read_data
libopenjp2.so.7:opj_stream_read_seek
libopenjp2.so.7:opj_stream_read_skip
libopenjp2.so.7:opj_stream_seek
libopenjp2.so.7:opj_stream_set_read_function
libopenjp2.so.7:opj_stream_set_seek_function
libopenjp2.so.7:opj_stream_set_skip_function
libopenjp2.so.7:opj_stream_set_user_data
libopenjp2.so.7:opj_stream_set_user_data_length
libopenjp2.so.7:opj_stream_set_write_function
libopenjp2.so.7:opj_stream_skip
libopenjp2.so.7:opj_stream_tell
libopenjp2.so.7:opj_stream_write_data
libopenjp2.so.7:opj_stream_write_seek
libopenjp2.so.7:opj_stream_write_skip
-libopenjp2.so.7:opj_t1_allocate_buffers
libopenjp2.so.7:opj_t1_create
libopenjp2.so.7:opj_t1_decode_cblks
libopenjp2.so.7:opj_t1_destroy
libopenjp2.so.7:opj_t1_encode_cblks
libopenjp2.so.7:opj_t2_create
libopenjp2.so.7:opj_t2_decode_packets
libopenjp2.so.7:opj_t2_destroy
libopenjp2.so.7:opj_t2_encode_packets
libopenjp2.so.7:opj_tcd_copy_tile_data
libopenjp2.so.7:opj_tcd_create
libopenjp2.so.7:opj_tcd_decode_tile
libopenjp2.so.7:opj_tcd_destroy
libopenjp2.so.7:opj_tcd_encode_tile
libopenjp2.so.7:opj_tcd_get_decoded_tile_size
libopenjp2.so.7:opj_tcd_get_encoded_tile_size
libopenjp2.so.7:opj_tcd_init
libopenjp2.so.7:opj_tcd_init_decode_tile
libopenjp2.so.7:opj_tcd_init_encode_tile
libopenjp2.so.7:opj_tcd_makelayer
libopenjp2.so.7:opj_tcd_makelayer_fixed
libopenjp2.so.7:opj_tcd_rateallocate
libopenjp2.so.7:opj_tcd_rateallocate_fixed
libopenjp2.so.7:opj_tcd_update_tile_data
libopenjp2.so.7:opj_tgt_create
libopenjp2.so.7:opj_tgt_decode
libopenjp2.so.7:opj_tgt_destroy
libopenjp2.so.7:opj_tgt_encode
libopenjp2.so.7:opj_tgt_init
libopenjp2.so.7:opj_tgt_reset
libopenjp2.so.7:opj_tgt_setvalue
libopenjp2.so.7:opj_version
libopenjp2.so.7:opj_write_bytes_BE
libopenjp2.so.7:opj_write_bytes_LE
libopenjp2.so.7:opj_write_double_BE
libopenjp2.so.7:opj_write_double_LE
libopenjp2.so.7:opj_write_float_BE
libopenjp2.so.7:opj_write_float_LE
libopenjp2.so.7:opj_write_tile
diff --git a/files/security/CVE-2016-7445.patch b/files/security/CVE-2016-7445.patch
new file mode 100644
index 0000000..8d8b280
--- /dev/null
+++ b/files/security/CVE-2016-7445.patch
@@ -0,0 +1,151 @@
+From f053508f6fc26aa95839f747bc7cbf257bd43996 Mon Sep 17 00:00:00 2001
+From: Matthieu Darbois <mayeut@users.noreply.github.com>
+Date: Thu, 22 Sep 2016 00:30:34 +0200
+Subject: [PATCH 1/1] Fix PNM file reading (#847)
+
+Malformed PNM file could cause a crash in opj_compress.
+Checks were added to prevent this.
+
+Fixes #843
+Updates #440
+---
+ src/bin/jp2/convert.c | 67 ++++++++++++++-------------------
+ tests/nonregression/test_suite.ctest.in | 2 +
+ 2 files changed, 30 insertions(+), 39 deletions(-)
+
+diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
+index c130b3bf..deee4f6e 100644
+--- a/src/bin/jp2/convert.c
++++ b/src/bin/jp2/convert.c
+@@ -1328,11 +1328,14 @@ struct pnm_header
+
+ static char *skip_white(char *s)
+ {
+- while(*s)
++ if (s != NULL)
+ {
+- if(*s == '\n' || *s == '\r') return NULL;
+- if(isspace(*s)) { ++s; continue; }
+- return s;
++ while(*s)
++ {
++ if(*s == '\n' || *s == '\r') return NULL;
++ if(isspace(*s)) { ++s; continue; }
++ return s;
++ }
+ }
+ return NULL;
+ }
+@@ -1377,7 +1380,7 @@ static char *skip_idf(char *start, char out_idf[256])
+
+ static void read_pnm_header(FILE *reader, struct pnm_header *ph)
+ {
+- int format, have_wh, end, ttype;
++ int format, end, ttype;
+ char idf[256], type[256];
+ char line[256];
+
+@@ -1398,11 +1401,12 @@ static void read_pnm_header(FILE *reader, struct pnm_header *ph)
+ return;
+ }
+ ph->format = format;
+- ttype = end = have_wh = 0;
++ ttype = end = 0;
+
+ while(fgets(line, 250, reader))
+ {
+ char *s;
++ int allow_null = 0;
+
+ if(*line == '#') continue;
+
+@@ -1478,36 +1482,25 @@ static void read_pnm_header(FILE *reader, struct pnm_header *ph)
+ return;
+ } /* if(format == 7) */
+
+- if( !have_wh)
+- {
++ /* Here format is in range [1,6] */
++ if (ph->width == 0) {
+ s = skip_int(s, &ph->width);
+-
++ if ((s == NULL) || (*s == 0) || (ph->width < 1)) return;
++ allow_null = 1;
++ }
++ if (ph->height == 0) {
+ s = skip_int(s, &ph->height);
+-
+- have_wh = 1;
+-
+- if(format == 1 || format == 4) break;
+-
+- if(format == 2 || format == 3 || format == 5 || format == 6)
+- {
+- if (skip_int(s, &ph->maxval) != NULL) {
+- if(ph->maxval > 65535) {
+- return;
+- }
+- else {
+- break;
+- }
+- }
++ if ((s == NULL) && allow_null) continue;
++ if ((s == NULL) || (*s == 0) || (ph->height < 1)) return;
++ if(format == 1 || format == 4) {
++ break;
+ }
+- continue;
+- }
+- if(format == 2 || format == 3 || format == 5 || format == 6)
+- {
+- /* P2, P3, P5, P6: */
+- s = skip_int(s, &ph->maxval);
+-
+- if(ph->maxval > 65535) return;
++ allow_null = 1;
+ }
++ /* here, format is in P2, P3, P5, P6 */
++ s = skip_int(s, &ph->maxval);
++ if ((s == NULL) && allow_null) continue;
++ if ((s == NULL) || (*s == 0)) return;
+ break;
+ }/* while(fgets( ) */
+ if(format == 2 || format == 3 || format > 4)
+@@ -1524,18 +1517,14 @@ static void read_pnm_header(FILE *reader, struct pnm_header *ph)
+ }
+ if(ph->depth < 1 || ph->depth > 4) return;
+
+- if(ph->width && ph->height && ph->depth && ph->maxval && ttype)
++ if (ttype)
+ ph->ok = 1;
+ }
+ else
+ {
+- if(format != 1 && format != 4)
+- {
+- if(ph->width && ph->height && ph->maxval) ph->ok = 1;
+- }
+- else
++ ph->ok = 1;
++ if(format == 1 || format == 4)
+ {
+- if(ph->width && ph->height) ph->ok = 1;
+ ph->maxval = 255;
+ }
+ }
+diff --git a/tests/nonregression/test_suite.ctest.in b/tests/nonregression/test_suite.ctest.in
+index bd22c91f..9ffae145 100644
+--- a/tests/nonregression/test_suite.ctest.in
++++ b/tests/nonregression/test_suite.ctest.in
+@@ -146,6 +146,8 @@ opj_compress -i @INPUT_NR_PATH@/flower-minisblack-11.tif -o @TEMP_PATH@/flower-m
+ opj_compress -i @INPUT_NR_PATH@/flower-minisblack-13.tif -o @TEMP_PATH@/flower-minisblack-13.tif.jp2
+ opj_compress -i @INPUT_NR_PATH@/flower-minisblack-15.tif -o @TEMP_PATH@/flower-minisblack-15.tif.jp2
+
++# issue 843 Crash with invalid ppm file
++!opj_compress -i @INPUT_NR_PATH@/issue843.ppm -o @TEMP_PATH@/issue843.ppm.jp2
+
+ # DECODER TEST SUITE
+ opj_decompress -i @INPUT_NR_PATH@/Bretagne2.j2k -o @TEMP_PATH@/Bretagne2.j2k.pgx
+--
+2.12.2
+
diff --git a/files/security/CVE-2016-8332.patch b/files/security/CVE-2016-8332.patch
new file mode 100644
index 0000000..237b57e
--- /dev/null
+++ b/files/security/CVE-2016-8332.patch
@@ -0,0 +1,44 @@
+From 734d57d5f7842aa7c2c9f36d62131ab4d8bd6c87 Mon Sep 17 00:00:00 2001
+From: Matthieu Darbois <mayeut@users.noreply.github.com>
+Date: Tue, 6 Sep 2016 22:33:26 +0200
+Subject: [PATCH 1/1] fix incrementing of "l_tcp->m_nb_mcc_records" in
+ opj_j2k_read_mcc (#820)
+
+---
+ src/lib/openjp2/j2k.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
+index 01d1a4ff..1cff598c 100644
+--- a/src/lib/openjp2/j2k.c
++++ b/src/lib/openjp2/j2k.c
+@@ -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;
+ }
+--
+2.12.2
+
diff --git a/files/security/CVE-2016-9113.patch b/files/security/CVE-2016-9113.patch
index ed0d1b7..1d8ec85 100644
--- a/files/security/CVE-2016-9113.patch
+++ b/files/security/CVE-2016-9113.patch
@@ -1,40 +1,40 @@
From e0047b38dee408a63e0af72823d8a00eb8681779 Mon Sep 17 00:00:00 2001
From: Hans Petter Jansson <hpj@cl.no>
Date: Wed, 14 Dec 2016 21:34:11 +0100
Subject: [PATCH 03/10] CVE-2016-9113
---
- src/bin/jp2/convert.c | 10 ++++++++++
+ src/bin/jp2/convertbmp.c | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
+diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c
index 40b0325..15942bf 100644
---- a/src/bin/jp2/convert.c
-+++ b/src/bin/jp2/convert.c
+--- a/src/bin/jp2/convertbmp.c
++++ b/src/bin/jp2/convertbmp.c
@@ -1049,6 +1049,11 @@ int imagetobmp(opj_image_t * image, const char *outfile) {
&& image->comps[0].prec == image->comps[1].prec
&& image->comps[1].prec == image->comps[2].prec) {
+ if (!image->comps[0].data || !image->comps[1].data || !image->comps[2].data) {
+ fprintf(stderr, "ERROR -> Missing image data in input file\n");
+ return 1;
+ }
+
/* -->> -->> -->> -->>
24 bits color
<<-- <<-- <<-- <<-- */
@@ -1148,6 +1153,11 @@ int imagetobmp(opj_image_t * image, const char *outfile) {
fclose(fdest);
} else { /* Gray-scale */
+ if (!image->comps[0].data) {
+ fprintf(stderr, "ERROR -> Missing image data in input file\n");
+ return 1;
+ }
+
/* -->> -->> -->> -->>
8 bits non code (Gray scale)
<<-- <<-- <<-- <<-- */
--
1.8.4.5
diff --git a/files/security/CVE-2016-9115.patch b/files/security/CVE-2016-9115.patch
deleted file mode 100644
index 000d154..0000000
--- a/files/security/CVE-2016-9115.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 2b3c51a12ce1c71459d3eaab6518deb219f9d6c5 Mon Sep 17 00:00:00 2001
-From: Hans Petter Jansson <hpj@cl.no>
-Date: Wed, 21 Dec 2016 04:31:21 +0100
-Subject: [PATCH 10/11] CVE-2016-9115
-
----
- src/bin/jp2/convert.c | 39 +++++++++++++++++++++++++++++++++++++--
- 1 file changed, 37 insertions(+), 2 deletions(-)
-
-diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
-index 2001b87..7e7d644 100644
---- a/src/bin/jp2/convert.c
-+++ b/src/bin/jp2/convert.c
-@@ -430,6 +430,11 @@ int imagetotga(opj_image_t * image, const char *outfile) {
- return 1;
- }
-
-+ if (image->numcomps < 1) {
-+ fprintf(stderr, "Unable to create a tga file with such J2K image characteristics.\n");
-+ return 1;
-+ }
-+
- for (i = 0; i < image->numcomps-1; i++) {
- if ((image->comps[0].dx != image->comps[i+1].dx)
- ||(image->comps[0].dy != image->comps[i+1].dy)
-@@ -440,6 +445,13 @@ int imagetotga(opj_image_t * image, const char *outfile) {
- }
- }
-
-+ for (i = 0; i < image->numcomps; i++) {
-+ if (!image->comps[i].data) {
-+ fprintf(stderr, "imagetotga: Missing image data in input file.\n");
-+ return 1;
-+ }
-+ }
-+
- width = (int)image->comps[0].w;
- height = (int)image->comps[0].h;
-
-@@ -457,8 +469,11 @@ int imagetotga(opj_image_t * image, const char *outfile) {
- scale = 255.0f / (float)((1<<image->comps[0].prec)-1);
-
- adjustR = (image->comps[0].sgnd ? 1 << (image->comps[0].prec - 1) : 0);
-- adjustG = (image->comps[1].sgnd ? 1 << (image->comps[1].prec - 1) : 0);
-- adjustB = (image->comps[2].sgnd ? 1 << (image->comps[2].prec - 1) : 0);
-+ if (image->numcomps > 2)
-+ {
-+ adjustG = (image->comps[1].sgnd ? 1 << (image->comps[1].prec - 1) : 0);
-+ adjustB = (image->comps[2].sgnd ? 1 << (image->comps[2].prec - 1) : 0);
-+ }
-
- for (y=0; y < height; y++)
- {
-@@ -3678,6 +3693,11 @@ int imagetopng(opj_image_t * image, const char *write_idf)
- {
- int v;
-
-+ if (!image->comps[0].data || !image->comps[1].data || !image->comps[2].data) {
-+ fprintf(stderr, "imagetopng: Missing image data in input file\n");
-+ goto fin;
-+ }
-+
- has_alpha = (nr_comp > 3);
-
- is16 = (prec == 16);
-@@ -3693,6 +3713,11 @@ int imagetopng(opj_image_t * image, const char *write_idf)
-
- if(has_alpha)
- {
-+ if (!image->comps[3].data) {
-+ fprintf(stderr, "imagetopng: Missing image data in input file\n");
-+ goto fin;
-+ }
-+
- sig_bit.alpha = (png_byte)prec;
- alpha = image->comps[3].data;
- color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-@@ -3818,6 +3843,11 @@ image->comps[1].sgnd,image->comps[2].sgnd,width,height,has_alpha);
- {
- int v;
-
-+ if (!image->comps[0].data) {
-+ fprintf(stderr, "imagetopng: Missing image data in input file\n");
-+ goto fin;
-+ }
-+
- red = image->comps[0].data;
-
- sig_bit.gray = (png_byte)prec;
-@@ -3827,6 +3857,11 @@ image->comps[1].sgnd,image->comps[2].sgnd,width,height,has_alpha);
-
- if(nr_comp == 2)
- {
-+ if (!image->comps[1].data) {
-+ fprintf(stderr, "imagetopng: Missing image data in input file\n");
-+ goto fin;
-+ }
-+
- has_alpha = 1; sig_bit.alpha = (png_byte)prec;
- alpha = image->comps[1].data;
- color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
---
-1.8.4.5
-
diff --git a/files/security/CVE-2016-9117.patch b/files/security/CVE-2016-9117.patch
deleted file mode 100644
index 53985f9..0000000
--- a/files/security/CVE-2016-9117.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5f5786f317360df4eca43dead1a5988274e10944 Mon Sep 17 00:00:00 2001
-From: Hans Petter Jansson <hpj@cl.no>
-Date: Wed, 21 Dec 2016 05:18:21 +0100
-Subject: [PATCH 11/11] CVE-2016-9117
-
----
- src/bin/jp2/convert.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
-index cb70839..16ce37d 100644
---- a/src/bin/jp2/convert.c
-+++ b/src/bin/jp2/convert.c
-@@ -1489,6 +1489,15 @@ int imagetopgx(opj_image_t * image, const char *outfile)
- FILE *fdest = NULL;
-
- for (compno = 0; compno < image->numcomps; compno++)
-+ {
-+ if (!image->comps[compno].data)
-+ {
-+ fprintf(stderr, "imagetopgx: Missing image data in input file\n");
-+ goto fin;
-+ }
-+ }
-+
-+ for (compno = 0; compno < image->numcomps; compno++)
- {
- opj_image_comp_t *comp = &image->comps[compno];
- char bname[256]; /* buffer for name */
---
-1.8.4.5
-
diff --git a/files/series b/files/series
index 8b82602..ff5bdda 100644
--- a/files/series
+++ b/files/series
@@ -1,7 +1,7 @@
+security/CVE-2016-7445.patch
+security/CVE-2016-8332.patch
security/CVE-2016-9112.patch
security/CVE-2016-9113.patch
security/CVE-2016-9114.patch
-security/CVE-2016-9115.patch
security/CVE-2016-9116.patch
-security/CVE-2016-9117.patch
security/CVE-2016-9118.patch
diff --git a/package.yml b/package.yml
index cffd4c5..678fe37 100644
--- a/package.yml
+++ b/package.yml
@@ -1,17 +1,17 @@
name : openjpeg
-version : 2.1.0
-release : 4
+version : 2.1.1
+release : 6
source :
- - https://github.com/uclouvain/openjpeg/archive/version.2.1.tar.gz : 4afc996cd5e0d16360d71c58216950bcb4ce29a3272360eb29cadb1c8bce4efc
+ - https://github.com/uclouvain/openjpeg/archive/v2.1.1.tar.gz : 82c27f47fc7219e2ed5537ac69545bf15ed8c6ba8e6e1e529f89f7356506dbaa
license : BSD-2-Clause
component : multimedia.library
summary : An open-source JPEG 2000 codec written in C.
description: |
An open-source JPEG 2000 codec written in C.
setup : |
%apply_patches
%cmake .
build : |
%make
install : |
%make_install
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
index 08838cf..fff1617 100644
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -1,53 +1,53 @@
<PISI>
<Source>
<Name>openjpeg</Name>
<Packager>
<Name>Joshua Strobl</Name>
<Email>joshua@stroblindustries.com</Email>
</Packager>
<License>BSD-2-Clause</License>
<PartOf>multimedia.library</PartOf>
<Summary xml:lang="en">An open-source JPEG 2000 codec written in C.</Summary>
<Description xml:lang="en">An open-source JPEG 2000 codec written in C.
</Description>
<Archive type="binary" sha1sum="79eb0752a961b8e0d15c77d298c97498fbc89c5a">https://solus-project.com/sources/README.Solus</Archive>
</Source>
<Package>
<Name>openjpeg</Name>
<Summary xml:lang="en">An open-source JPEG 2000 codec written in C.</Summary>
<Description xml:lang="en">An open-source JPEG 2000 codec written in C.
</Description>
<PartOf>multimedia.library</PartOf>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib/lib*.so.*</Path>
<Path fileType="library">/usr/lib/openjpeg-2.1/OpenJPEGConfig.cmake</Path>
<Path fileType="library">/usr/lib/openjpeg-2.1/OpenJPEGTargets-relwithdebinfo.cmake</Path>
<Path fileType="library">/usr/lib/openjpeg-2.1/OpenJPEGTargets.cmake</Path>
</Files>
</Package>
<Package>
<Name>openjpeg-devel</Name>
<Summary xml:lang="en">Development files for openjpeg</Summary>
<Description xml:lang="en">An open-source JPEG 2000 codec written in C.
</Description>
<PartOf>programming.devel</PartOf>
<RuntimeDependencies>
- <Dependency release="4">openjpeg</Dependency>
+ <Dependency release="6">openjpeg</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include/</Path>
<Path fileType="library">/usr/lib/lib*.so</Path>
<Path fileType="data">/usr/lib/pkgconfig/*.pc</Path>
</Files>
</Package>
<History>
- <Update release="4">
+ <Update release="6">
<Date>2017-04-15</Date>
- <Version>2.1.0</Version>
+ <Version>2.1.1</Version>
<Comment>Packaging update</Comment>
<Name>Joshua Strobl</Name>
<Email>joshua@stroblindustries.com</Email>
</Update>
</History>
</PISI>
\ No newline at end of file
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Thu, Aug 10, 12:56 PM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844553
Default Alt Text
(25 KB)
Attached To
Mode
R2244 openjpeg
Attached
Detach File
Event Timeline
Log In to Comment