mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-31 10:25:46 +01:00 
			
		
		
		
	add a malloc() check
mostly a sanity measure to be future-proof Change-Id: I55a81345819b2a8e939c98f0da883dc5c0cc16a2
This commit is contained in:
		| @@ -890,11 +890,21 @@ static int DecodeImageStream(int xsize, int ysize, | |||||||
|     goto End; |     goto End; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   data = (uint32_t*)malloc(transform_xsize * transform_ysize * sizeof(*data)); |   { | ||||||
|   if (data == NULL) { |     const uint64_t total_size = | ||||||
|     dec->status_ = VP8_STATUS_OUT_OF_MEMORY; |         transform_xsize * transform_ysize * sizeof(*data); | ||||||
|     ok = 0; |     if (total_size != (size_t)total_size) { | ||||||
|     goto End; |       // This shouldn't happen, because of transform_bits limit, but... | ||||||
|  |       dec->status_ = VP8_STATUS_BITSTREAM_ERROR; | ||||||
|  |       ok = 0; | ||||||
|  |       goto End; | ||||||
|  |     } | ||||||
|  |     data = (uint32_t*)malloc((size_t)total_size); | ||||||
|  |     if (data == NULL) { | ||||||
|  |       dec->status_ = VP8_STATUS_OUT_OF_MEMORY; | ||||||
|  |       ok = 0; | ||||||
|  |       goto End; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // Use the Huffman trees to decode the LZ77 encoded data. |   // Use the Huffman trees to decode the LZ77 encoded data. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user