summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_aq_cyclicrefresh.c
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2018-09-14 21:36:26 -0700
committerJames Zern <jzern@google.com>2018-09-14 21:36:26 -0700
commit54827e5782d2e00f2117544201fe2b3dc6e0bce5 (patch)
treec7049aa114c6b1751803ca5e9c0f869ea954a464 /vp9/encoder/vp9_aq_cyclicrefresh.c
parentcb671194c9ac4068922a971318670c91bf96c906 (diff)
downloadlibvpx-54827e5782d2e00f2117544201fe2b3dc6e0bce5.tar
libvpx-54827e5782d2e00f2117544201fe2b3dc6e0bce5.tar.gz
libvpx-54827e5782d2e00f2117544201fe2b3dc6e0bce5.tar.bz2
libvpx-54827e5782d2e00f2117544201fe2b3dc6e0bce5.zip
vp9,encoder: check pointers before member access
verify pointers passed to vp9_cyclic_refresh_free() and vp9_setup_pc_tree() before attempting to free members of the structs. based on the change in libaom: ie41de6b5a AV1FrameSizeTests.LargeValidSizes: avoid segfault. Change-Id: Ib81759923cb442e19f42e6edb4b61171d8799ba6
Diffstat (limited to 'vp9/encoder/vp9_aq_cyclicrefresh.c')
-rw-r--r--vp9/encoder/vp9_aq_cyclicrefresh.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_aq_cyclicrefresh.c b/vp9/encoder/vp9_aq_cyclicrefresh.c
index 66e2babcd..a2a742493 100644
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -52,9 +52,11 @@ CYCLIC_REFRESH *vp9_cyclic_refresh_alloc(int mi_rows, int mi_cols) {
}
void vp9_cyclic_refresh_free(CYCLIC_REFRESH *cr) {
- vpx_free(cr->map);
- vpx_free(cr->last_coded_q_map);
- vpx_free(cr);
+ if (cr != NULL) {
+ vpx_free(cr->map);
+ vpx_free(cr->last_coded_q_map);
+ vpx_free(cr);
+ }
}
// Check if this coding block, of size bsize, should be considered for refresh