Added a fix in the FAC payload writing path (#90)

- The bit-writing logic had to be skipped when no bits were to be written. Added the missing check for the same.
- This change also resolves an issue identified by oss-fuzz

Bug: ossFuzz: 68476
Test: poc in bug
This commit is contained in:
akshayragir833 2024-05-16 13:32:33 +05:30 • committed by GitHub
parent 9b16033d61
commit 141fde8854
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -520,16 +520,17 @@ WORD32 iusace_fd_encode_fac(WORD32 *prm, WORD16 *ptr_bit_buf, WORD32 fac_length)
n = qn - nk * 2;
}
if (n != 0) {
if (qn != 0) {
iusace_write_bits2buf(I, 4 * n, ptr_bit_buf);
ptr_bit_buf += 4 * n;
}
for (j = 0; j < 8; j++) {
iusace_write_bits2buf(kv[j], nk, ptr_bit_buf);
ptr_bit_buf += nk;
}
fac_bits += 4 * qn;
for (j = 0; j < 8; j++) {
iusace_write_bits2buf(kv[j], nk, ptr_bit_buf);
ptr_bit_buf += nk;
}
fac_bits += 4 * qn;
}
}
return fac_bits;