audio: Linux Yocto SDK Coverity Check - libmad-aml. [1/1]
PD#SWPL-172604
Problem:
Linux Yocto SDK Coverity Check - libmad-aml.
Solution:
Fix Coverity Check - libmad-aml
Verify:
t5w.
Change-Id: Icf9dc8694145094cb8ce1f8652495c263c6f0754
Signed-off-by: yuliang.hu <yuliang.hu@amlogic.com>
diff --git a/libmad/layer12.c b/libmad/layer12.c
index 3ac24f0..67d2783 100644
--- a/libmad/layer12.c
+++ b/libmad/layer12.c
@@ -36,6 +36,7 @@
# include "stream.h"
# include "frame.h"
# include "layer12.h"
+#include <string.h>
/*
* scalefactor table
@@ -106,6 +107,8 @@
struct mad_header *header = &frame->header;
unsigned int nch, bound, ch, s, sb, nb;
unsigned char allocation[2][32], scalefactor[2][32];
+ memset(allocation, 0, sizeof(allocation));
+ memset(scalefactor, 0, sizeof(scalefactor));
nch = MAD_NCHANNELS(header);
diff --git a/libmad/layer3.c b/libmad/layer3.c
index bd5c3b1..db0de68 100644
--- a/libmad/layer3.c
+++ b/libmad/layer3.c
@@ -843,7 +843,7 @@
if (channel->flags & mixed_block_flag) {
unsigned int premask;
- premask = (channel->flags & preflag) ? ~0 : 0;
+ premask = (channel->flags & preflag) ? (2^32 - 1) : 0;
/* long block subbands 0-1 */
@@ -927,7 +927,7 @@
requantized <<= exp;
}
}
-
+ /*coverity[integer_overflow]: overflow will not occur*/
return frac ? mad_f_mul(requantized, root_table[3 + frac]) : requantized;
}