mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	Fix certain minimal config builds
The removal of png_struct::row_buffer and png_struct::row_format from write builds configured without filter or transform support (respectively) wasn't complete; some of the png.c and pngwrite.c cleanup code needed to handle the potentially removed members. Signed-off-by: John Bowler <jbowler@acm.org>
This commit is contained in:
		
							parent
							
								
									504ebd427d
								
							
						
					
					
						commit
						368bb1b241
					
				
							
								
								
									
										8
									
								
								png.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								png.c
									
									
									
									
									
								
							| @ -2448,10 +2448,12 @@ png_copy_row(png_const_structrp png_ptr, png_bytep dp, png_const_bytep sp, | |||||||
|        * little endian; bits to copy in the bottom of 's'.  Make 'remaining' |        * little endian; bits to copy in the bottom of 's'.  Make 'remaining' | ||||||
|        * into a mask of the bits to *preserve* in dp. |        * into a mask of the bits to *preserve* in dp. | ||||||
|        */ |        */ | ||||||
|       if ((png_ptr->row_format & PNG_FORMAT_FLAG_SWAPPED) == 0U) | #     ifdef PNG_TRANSFORM_MECH_SUPPORTED | ||||||
|          remaining = 0xffU >> remaining; |          if ((png_ptr->row_format & PNG_FORMAT_FLAG_SWAPPED) == 0U) | ||||||
|  |             remaining = 0xffU >> remaining; | ||||||
| 
 | 
 | ||||||
|       else |          else | ||||||
|  | #     endif /* TRANSFORM_MECH */ | ||||||
|          remaining = 0xffU << remaining; |          remaining = 0xffU << remaining; | ||||||
| 
 | 
 | ||||||
|       /* remaining is now the bits to *keep* from the destination byte, if
 |       /* remaining is now the bits to *keep* from the destination byte, if
 | ||||||
|  | |||||||
| @ -1147,8 +1147,10 @@ png_write_destroy(png_structrp png_ptr) | |||||||
| 
 | 
 | ||||||
|    /* Free our memory.  png_free checks NULL for us. */ |    /* Free our memory.  png_free checks NULL for us. */ | ||||||
|    png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list); |    png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list); | ||||||
|  | #ifdef PNG_WRITE_FILTER_SUPPORTED | ||||||
|    png_free(png_ptr, png_ptr->row_buffer); |    png_free(png_ptr, png_ptr->row_buffer); | ||||||
|    png_ptr->row_buffer = NULL; |    png_ptr->row_buffer = NULL; | ||||||
|  | #endif /* WRITE_FILTER */ | ||||||
| #ifdef PNG_TRANSFORM_MECH_SUPPORTED | #ifdef PNG_TRANSFORM_MECH_SUPPORTED | ||||||
|    png_transform_free(png_ptr, &png_ptr->transform_list); |    png_transform_free(png_ptr, &png_ptr->transform_list); | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Bowler
						John Bowler