Fix NO_CAST.INTEGER_OVERFLOW 79/294479/5 accepted/tizen/unified/20230621.023257 accepted/tizen/unified/dev/20230726.115316
authorJaechul Lee <jcsing.lee@samsung.com>
Tue, 20 Jun 2023 04:59:28 +0000 (13:59 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Tue, 20 Jun 2023 07:06:54 +0000 (16:06 +0900)
[Version] 0.0.3
[Issue Type] SVACE

Change-Id: I8ac8f4d419c1e2500737c336290a428ecd558976
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
packaging/libaudio-effect.spec
src/audio_effect_util.c

index 193618c55b0bccdbb0bf5c21c2a9352c355fadde..06f2c61392a66e438a09f19a3245dfbc953262d6 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libaudio-effect
 Summary:    audio effect library
-Version:    0.0.2
+Version:    0.0.3
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 11714bf41532d3f058a406921f9f1aeb0c65a20c..ccf71f2e31d9b1e9498e28a49638311a92b0fa5e 100644 (file)
 
 #define CLAMP(value, min, max) (value < min ? min : (value > max ? max : value))
 
-static struct sample_size_table {
-       int sample_size;
-       audio_effect_format_e format;
-} sample_size_table[] = {
-       { 1, AUDIO_EFFECT_FORMAT_S8 },
-       { 2, AUDIO_EFFECT_FORMAT_S16 },
-       { 3, AUDIO_EFFECT_FORMAT_S24 },
-       { 4, AUDIO_EFFECT_FORMAT_S32 },
-       { 4, AUDIO_EFFECT_FORMAT_FLOAT },
+static size_t sample_size_table[] = {
+       [AUDIO_EFFECT_FORMAT_S8] = 1,
+       [AUDIO_EFFECT_FORMAT_S16] = 2,
+       [AUDIO_EFFECT_FORMAT_S24] = 3,
+       [AUDIO_EFFECT_FORMAT_S32] = 4,
+       [AUDIO_EFFECT_FORMAT_FLOAT] = 4,
 };
 
 size_t audio_effect_util_get_sample_size(audio_effect_format_e format)
 {
-       return sample_size_table[format].sample_size;
+       assert(format < AUDIO_EFFECT_FORMAT_MAX);
+
+       return sample_size_table[format];
 }
 
 size_t audio_effect_util_get_frame_size(audio_effect_format_e format, int channels)
 {
-       return sample_size_table[format].sample_size * channels;
+       assert(format < AUDIO_EFFECT_FORMAT_MAX);
+
+       return sample_size_table[format] * channels;
 }
 
 size_t audio_effect_util_msec_to_frame(size_t msec, int rate)
@@ -49,7 +50,7 @@ size_t audio_effect_util_msec_to_frame(size_t msec, int rate)
 
 size_t audio_effect_util_msec_to_bytes(size_t msec, int rate, int channels, audio_effect_format_e format)
 {
-       return ((msec * rate) / 1000) * channels * sample_size_table[format].sample_size;
+       return ((msec * rate) / 1000) * channels * sample_size_table[format];
 }
 
 void audio_effect_util_convert_s16le_to_float(size_t n, const short *a, float *b)