* gnu/packages/patches/openjpeg-use-after-free-fix.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch. [home-page]: Update.
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 940100c28ae28931722290794889cf84a92c5f6f Mon Sep 17 00:00:00 2001
 | 
						|
From: mayeut <mayeut@users.noreply.github.com>
 | 
						|
Date: Sun, 6 Sep 2015 17:24:03 +0200
 | 
						|
Subject: [PATCH] Fix potential use-after-free in opj_j2k_write_mco function
 | 
						|
 | 
						|
Fixes #563
 | 
						|
---
 | 
						|
 src/lib/openjp2/j2k.c | 8 ++++----
 | 
						|
 1 file changed, 4 insertions(+), 4 deletions(-)
 | 
						|
 | 
						|
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
 | 
						|
index 19a48f5..d487d89 100644
 | 
						|
--- a/src/lib/openjp2/j2k.c
 | 
						|
+++ b/src/lib/openjp2/j2k.c
 | 
						|
@@ -5559,8 +5559,7 @@ static OPJ_BOOL opj_j2k_write_mco(     opj_j2k_t *p_j2k,
 | 
						|
         assert(p_stream != 00);
 | 
						|
 
 | 
						|
         l_tcp =&(p_j2k->m_cp.tcps[p_j2k->m_current_tile_number]);
 | 
						|
-        l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data;
 | 
						|
-
 | 
						|
+	
 | 
						|
         l_mco_size = 5 + l_tcp->m_nb_mcc_records;
 | 
						|
         if (l_mco_size > p_j2k->m_specific_param.m_encoder.m_header_tile_data_size) {
 | 
						|
 
 | 
						|
@@ -5575,6 +5574,8 @@ static OPJ_BOOL opj_j2k_write_mco(     opj_j2k_t *p_j2k,
 | 
						|
                 p_j2k->m_specific_param.m_encoder.m_header_tile_data = new_header_tile_data;
 | 
						|
                 p_j2k->m_specific_param.m_encoder.m_header_tile_data_size = l_mco_size;
 | 
						|
         }
 | 
						|
+        l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data;
 | 
						|
+
 | 
						|
 
 | 
						|
         opj_write_bytes(l_current_data,J2K_MS_MCO,2);                   /* MCO */
 | 
						|
         l_current_data += 2;
 | 
						|
@@ -5586,10 +5587,9 @@ static OPJ_BOOL opj_j2k_write_mco(     opj_j2k_t *p_j2k,
 | 
						|
         ++l_current_data;
 | 
						|
 
 | 
						|
         l_mcc_record = l_tcp->m_mcc_records;
 | 
						|
-        for     (i=0;i<l_tcp->m_nb_mcc_records;++i) {
 | 
						|
+        for (i=0;i<l_tcp->m_nb_mcc_records;++i) {
 | 
						|
                 opj_write_bytes(l_current_data,l_mcc_record->m_index,1);/* Imco -> use the mcc indicated by 1*/
 | 
						|
                 ++l_current_data;
 | 
						|
-
 | 
						|
                 ++l_mcc_record;
 | 
						|
         }
 | 
						|
 
 | 
						|
-- 
 | 
						|
2.5.0
 | 
						|
 |