mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-31 18:35:41 +01:00 
			
		
		
		
	BackwardReferencesHashChainDistanceOnly: fix segfault on OOM
change CostManager to calloc to avoid frees on undefined pointer values in CostManagerClear() should the cost_model allocation succeed, but the cost_manager allocation fail since: v0.5.0-93-g3e023c17 Speed-up BackwardReferencesHashChainDistanceOnly. Tested: for i in `seq 1 639`; do export MALLOC_FAIL_AT=$i ./examples/cwebp -m 6 -q 100 -lossless jpeg_file done Bug: webp:565 Change-Id: I376d81e6f41eb73529053e9e30c142b4b4f6b45b (cherry picked from commita828a59b49) (cherry picked from commitdd80bb4343) (cherry picked from commit4d0964cd0c)
This commit is contained in:
		| @@ -577,7 +577,7 @@ static int BackwardReferencesHashChainDistanceOnly( | ||||
|       (CostModel*)WebPSafeCalloc(1ULL, cost_model_size); | ||||
|   VP8LColorCache hashers; | ||||
|   CostManager* cost_manager = | ||||
|       (CostManager*)WebPSafeMalloc(1ULL, sizeof(*cost_manager)); | ||||
|       (CostManager*)WebPSafeCalloc(1ULL, sizeof(*cost_manager)); | ||||
|   int offset_prev = -1, len_prev = -1; | ||||
|   double offset_cost = -1; | ||||
|   int first_offset_is_constant = -1;  // initialized with 'impossible' value | ||||
|   | ||||
		Reference in New Issue
	
	Block a user