Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ff4e167 authored by Harish Mahendrakar's avatar Harish Mahendrakar
Browse files

mpeg4dec: Check for invalid quant matrix

Add a check to ensure quant matrix has at least one non-zero
value parsed.

Bug: 173320193
Test: poc in bug
Test: atest Mpeg4H263DecoderTest -- \
      --enable-module-dynamic-download=true
Test: atest android.mediav2.cts
Test: atest android.media.cts

Change-Id: I76312e46dbf26d666b634f67ba840b01603ca8e5
parent 3fb5f496
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -497,6 +497,13 @@ decode_vol:
                }
                while ((qmat[*(zigzag_inv+i)] != 0) && (++i < 64));

                /* qmatrix must have at least one non-zero value, which means
                   i would be non-zero in valid cases */
                if (i == 0)
                {
                    return PV_FAIL;
                }

                for (j = i; j < 64; j++)
                    qmat[*(zigzag_inv+j)] = qmat[*(zigzag_inv+i-1)];
            }
@@ -520,6 +527,13 @@ decode_vol:
                }
                while ((qmat[*(zigzag_inv+i)] != 0) && (++i < 64));

                /* qmatrix must have at least one non-zero value, which means
                   i would be non-zero in valid cases */
                if (i == 0)
                {
                    return PV_FAIL;
                }

                for (j = i; j < 64; j++)
                    qmat[*(zigzag_inv+j)] = qmat[*(zigzag_inv+i-1)];
            }