diff options
author | James Zern <jzern@google.com> | 2020-02-14 21:00:21 -0800 |
---|---|---|
committer | James Zern <jzern@google.com> | 2020-02-14 21:03:56 -0800 |
commit | 0f3fe088fab5998c37910f3cc539a48fa1a72c14 (patch) | |
tree | 17d6c343ddb5549402e7c84e8ac885d5f93eb6f6 /vp8/vp8_dx_iface.c | |
parent | 9cfcac1cb3b2e765c24706a9e966859d588bc4ef (diff) | |
download | libvpx-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.c | 1 |
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. |