Page MenuHomeSolus

No OneTemporary

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

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)

Event Timeline