summaryrefslogtreecommitdiff
path: root/vp8/vp8_dx_iface.c
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2020-02-14 21:00:21 -0800
committerJames Zern <jzern@google.com>2020-02-14 21:03:56 -0800
commit0f3fe088fab5998c37910f3cc539a48fa1a72c14 (patch)
tree17d6c343ddb5549402e7c84e8ac885d5f93eb6f6 /vp8/vp8_dx_iface.c
parent9cfcac1cb3b2e765c24706a9e966859d588bc4ef (diff)
downloadlibvpx-0f3fe088fab5998c37910f3cc539a48fa1a72c14.tar
libvpx-0f3fe088fab5998c37910f3cc539a48fa1a72c14.tar.gz
libvpx-0f3fe088fab5998c37910f3cc539a48fa1a72c14.tar.bz2
libvpx-0f3fe088fab5998c37910f3cc539a48fa1a72c14.zip
vp8_decode: add missing vpx_clear_system_state
this avoids leaving the floating point unit in an inconsistent state on error and breaking subsequent tests on x86 the test clip invalid-bug-148271109.ivf would also result in a sanitizer error prior to: vp8,GetSigned: silence unsigned int overflow warning BUG=b/148271109 Change-Id: Ia254f3892ac1eeec51db5e9d42ea071545db0cd8
Diffstat (limited to 'vp8/vp8_dx_iface.c')
-rw-r--r--vp8/vp8_dx_iface.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c
index 82a716254..43156a078 100644
--- a/vp8/vp8_dx_iface.c
+++ b/vp8/vp8_dx_iface.c
@@ -456,6 +456,7 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx,
}
if (setjmp(pbi->common.error.jmp)) {
+ vpx_clear_system_state();
/* We do not know if the missing frame(s) was supposed to update
* any of the reference buffers, but we act conservative and
* mark only the last buffer as corrupted.