[Sound-open-firmware] [PATCH 3/3] SRC: Fix possible use of uninitialized plus code cleanup
Seppo Ingalsuo
seppo.ingalsuo at linux.intel.com
Mon Jun 12 10:31:15 CEST 2017
The s1.x_rptr, s1.y_wptr, and s2.y_wptr might be used as uninitialized.
Also remove some obsolete code lines.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo at linux.intel.com>
---
src/audio/src.c | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/src/audio/src.c b/src/audio/src.c
index 7a86a54..66cbbc1 100644
--- a/src/audio/src.c
+++ b/src/audio/src.c
@@ -168,6 +168,9 @@ static void src_2s_s32_default(struct comp_dev *dev,
s2.y_size = sink->alloc_size;
s2.y_inc = nch;
+ s1.x_rptr = src + nch - 1;
+ s2.y_wptr = dest + nch - 1;
+
for (j = 0; j < nch; j++) {
s = &cd->src[j]; /* Point to src[] for this channel */
s1.x_rptr = src++;
@@ -228,6 +231,8 @@ static void src_1s_s32_default(struct comp_dev *dev,
s1.y_end_addr = sink->end_addr;
s1.y_size = sink->alloc_size;
s1.y_inc = nch;
+ s1.x_rptr = src + nch - 1;
+ s1.y_wptr = dest + nch - 1;
for (j = 0; j < nch; j++) {
s = &cd->src[j]; /* Point to src for this channel */
@@ -268,18 +273,11 @@ static struct comp_dev *src_new(struct sof_ipc_comp *comp)
cd = rmalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd));
if (cd == NULL) {
-#if SRC_SOF == 1
- rfree(dev);
-#else
rfree(dev);
-#endif
return NULL;
}
comp_set_drvdata(dev, cd);
-#if SRC_SOF == 0
-
-#endif
cd->delay_lines = NULL;
cd->src_func = src_2s_s32_default;
@@ -295,21 +293,12 @@ static void src_free(struct comp_dev *dev)
trace_src("SFr");
-#if SRC_SOF == 1
- /* Free dynamically reserved buffers for SRC algorithm */
- if (cd->delay_lines != NULL)
- rfree(cd->delay_lines);
-
- rfree(cd);
- rfree(dev);
-#else
/* Free dynamically reserved buffers for SRC algorithm */
if (cd->delay_lines != NULL)
rfree(cd->delay_lines);
rfree(cd);
rfree(dev);
-#endif
}
/* set component audio stream parameters */
--
2.11.0
More information about the Sound-open-firmware
mailing list