mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	[libpng15] Check validity of "nentries" parameter of png_set_sPLT().
and check validity of "num_text" parameter of png_set_text_2().
This commit is contained in:
		
							parent
							
								
									798d3de5f6
								
							
						
					
					
						commit
						77a0a2ea11
					
				
							
								
								
									
										1
									
								
								ANNOUNCE
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								ANNOUNCE
									
									
									
									
									
								
							@ -85,6 +85,7 @@ Version 1.5.14rc02 [January 17, 2013]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Version 1.5.14rc03 [January 17, 2013]
 | 
					Version 1.5.14rc03 [January 17, 2013]
 | 
				
			||||||
  Check validity of "nentries" parameter of png_set_sPLT().
 | 
					  Check validity of "nentries" parameter of png_set_sPLT().
 | 
				
			||||||
 | 
					  Check validity of "num_text" parameter of png_set_text_2().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ===========================================================================
 | 
					  ===========================================================================
 | 
				
			||||||
                       NOTICE November 17, 2012:
 | 
					                       NOTICE November 17, 2012:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								CHANGES
									
									
									
									
									
								
							@ -3978,6 +3978,7 @@ Version 1.5.14rc02 [January 17, 2013]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Version 1.5.14rc03 [January 17, 2013]
 | 
					Version 1.5.14rc03 [January 17, 2013]
 | 
				
			||||||
  Check validity of "nentries" parameter of png_set_sPLT().
 | 
					  Check validity of "nentries" parameter of png_set_sPLT().
 | 
				
			||||||
 | 
					  Check validity of "num_text" parameter of png_set_text_2().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ===========================================================================
 | 
					  ===========================================================================
 | 
				
			||||||
                       NOTICE November 17, 2012:
 | 
					                       NOTICE November 17, 2012:
 | 
				
			||||||
 | 
				
			|||||||
@ -242,7 +242,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED)
 | 
				
			|||||||
#ifdef PNG_sPLT_SUPPORTED
 | 
					#ifdef PNG_sPLT_SUPPORTED
 | 
				
			||||||
   /* Data on sPLT chunks (there may be more than one). */
 | 
					   /* Data on sPLT chunks (there may be more than one). */
 | 
				
			||||||
   png_sPLT_tp splt_palettes;
 | 
					   png_sPLT_tp splt_palettes;
 | 
				
			||||||
   png_uint_32 splt_palettes_num;
 | 
					   int splt_palettes_num;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PNG_sCAL_SUPPORTED
 | 
					#ifdef PNG_sCAL_SUPPORTED
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								pngset.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								pngset.c
									
									
									
									
									
								
							@ -690,6 +690,17 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr,
 | 
				
			|||||||
   /* Make sure we have enough space in the "text" array in info_struct
 | 
					   /* Make sure we have enough space in the "text" array in info_struct
 | 
				
			||||||
    * to hold all of the incoming text_ptr objects.
 | 
					    * to hold all of the incoming text_ptr objects.
 | 
				
			||||||
    */
 | 
					    */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if (num_text < 0 ||
 | 
				
			||||||
 | 
					       num_text > INT_MAX - info_ptr->num_text - 8 ||
 | 
				
			||||||
 | 
					       (unsigned int)/*SAFE*/(num_text +/*SAFE*/
 | 
				
			||||||
 | 
					       info_ptr->num_text + 8) >=
 | 
				
			||||||
 | 
					       PNG_SIZE_MAX/png_sizeof(png_text))
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					      png_warning(png_ptr, "too many text chunks");
 | 
				
			||||||
 | 
					      return(0);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   if (info_ptr->num_text + num_text > info_ptr->max_text)
 | 
					   if (info_ptr->num_text + num_text > info_ptr->max_text)
 | 
				
			||||||
   {
 | 
					   {
 | 
				
			||||||
      int old_max_text = info_ptr->max_text;
 | 
					      int old_max_text = info_ptr->max_text;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user