From 7ead5876d763358663be8eee77ea9d4d29c2191f Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 11 Apr 2022 16:21:04 -0700 Subject: update to 1.2.2 branch (20ef03e) this fixes crashes in lossless encoding due to OOM https://chromium.googlesource.com/webm/libwebp/+log/69c7f16..20ef03e Test: compiles, upstream tests Bug: webp:565 Change-Id: Ie732013ed9f2e084d55a1efaa321a7ab6de21f53 --- src/enc/backward_references_enc.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/enc/backward_references_enc.c') diff --git a/src/enc/backward_references_enc.c b/src/enc/backward_references_enc.c index 519b36a0..d5e931ef 100644 --- a/src/enc/backward_references_enc.c +++ b/src/enc/backward_references_enc.c @@ -976,15 +976,16 @@ static int GetBackwardReferences(int width, int height, const VP8LHashChain* const hash_chain_tmp = (lz77_types_best[i] == kLZ77Standard) ? hash_chain : &hash_chain_box; const int cache_bits = (i == 1) ? 0 : *cache_bits_best; - if (VP8LBackwardReferencesTraceBackwards(width, height, argb, cache_bits, - hash_chain_tmp, &refs[i], - refs_tmp)) { - double bit_cost_trace; - VP8LHistogramCreate(histo, refs_tmp, cache_bits); - bit_cost_trace = VP8LHistogramEstimateBits(histo); - if (bit_cost_trace < bit_costs_best[i]) { - BackwardRefsSwap(refs_tmp, &refs[i]); - } + double bit_cost_trace; + if (!VP8LBackwardReferencesTraceBackwards(width, height, argb, cache_bits, + hash_chain_tmp, &refs[i], + refs_tmp)) { + goto Error; + } + VP8LHistogramCreate(histo, refs_tmp, cache_bits); + bit_cost_trace = VP8LHistogramEstimateBits(histo); + if (bit_cost_trace < bit_costs_best[i]) { + BackwardRefsSwap(refs_tmp, &refs[i]); } } -- cgit v1.2.3