]> granicus.if.org Git - libvpx/commitdiff
vp8 mfqe: zero map[]
authorJohann <johannkoenig@google.com>
Wed, 14 Mar 2018 20:10:08 +0000 (13:10 -0700)
committerJohann <johannkoenig@google.com>
Wed, 14 Mar 2018 20:56:39 +0000 (13:56 -0700)
The loop appears to set map[i] with the intention of running
the 'j' loop up to that point. However, without zero'ing map[]
first the behavior is unpredictable.

Fixes a static analysis warning:
warning: Branch condition evaluates to a garbage value
for (j = 0; j < 4 && map[j]; ++j) {

Change-Id: Ifa39353d8aa5cc47b467a7d3d8cdd3b5319fd997

vp8/common/mfqe.c

index b6f8146b8447715291d16406f1f56dc72e739b27..aad908572936d1237b83231e3c412191a4937597 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "./vp8_rtcd.h"
 #include "./vpx_dsp_rtcd.h"
+#include "vp8/common/common.h"
 #include "vp8/common/postproc.h"
 #include "vpx_dsp/variance.h"
 #include "vpx_mem/vpx_mem.h"
@@ -211,6 +212,7 @@ static int qualify_inter_mb(const MODE_INFO *mode_info_context, int *map) {
       { 0, 1, 4, 5 }, { 2, 3, 6, 7 }, { 8, 9, 12, 13 }, { 10, 11, 14, 15 }
     };
     int i, j;
+    vp8_zero(*map);
     for (i = 0; i < 4; ++i) {
       map[i] = 1;
       for (j = 0; j < 4 && map[j]; ++j) {