shithub: libvpx

Download patch

ref: dbcb89be244e03074ee80e7bc6d5c22e6fc5dd79
parent: fe47e829298a7f7c44749164a480ff7dcdf07ea5
parent: ca9ab3fc46b2d3d839ff1e09660e83f146dd9a0b
author: Jerome Jiang <jianj@google.com>
date: Wed Aug 22 16:20:15 EDT 2018

Merge "Revert "vp8: Fix memory address overflow in decoder.""

--- a/vp8/decoder/threading.c
+++ b/vp8/decoder/threading.c
@@ -400,24 +400,15 @@
       xd->dst.u_buffer = dst_buffer[1] + recon_uvoffset;
       xd->dst.v_buffer = dst_buffer[2] + recon_uvoffset;
 
-      if (!ref_fb_corrupted[xd->mode_info_context->mbmi.ref_frame]) {
-        xd->pre.y_buffer =
-            ref_buffer[xd->mode_info_context->mbmi.ref_frame][0] +
-            recon_yoffset;
-        xd->pre.u_buffer =
-            ref_buffer[xd->mode_info_context->mbmi.ref_frame][1] +
-            recon_uvoffset;
-        xd->pre.v_buffer =
-            ref_buffer[xd->mode_info_context->mbmi.ref_frame][2] +
-            recon_uvoffset;
-      }
+      xd->pre.y_buffer =
+          ref_buffer[xd->mode_info_context->mbmi.ref_frame][0] + recon_yoffset;
+      xd->pre.u_buffer =
+          ref_buffer[xd->mode_info_context->mbmi.ref_frame][1] + recon_uvoffset;
+      xd->pre.v_buffer =
+          ref_buffer[xd->mode_info_context->mbmi.ref_frame][2] + recon_uvoffset;
 
       /* propagate errors from reference frames */
       xd->corrupted |= ref_fb_corrupted[xd->mode_info_context->mbmi.ref_frame];
-
-      if (xd->corrupted)
-        vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
-                           "Corrupted reference frame buffer");
 
       mt_decode_macroblock(pbi, xd, 0);