From dbc1961a5ec3eb506588cd50cc95e57dad2f114c Mon Sep 17 00:00:00 2001 From: Suyeon Hwang Date: Thu, 16 Apr 2020 15:25:32 +0900 Subject: [PATCH] Use buffer size as minimum value of buffer_size and BUFFER_LENGTH buffer_size can be different from BUFFER_LENGTH. However, if buffer_size is bigger than BUFFER_LENGTH, buffer overflow can be occured. Thus, I use minimum value of buffer_size and BUFFER_LENGTH as parameter. And also, this patch pass the same variable to g_audio_cb and get_volume_decibel. Change-Id: I1231f056226415e820b079da3241e5ee82f8793d Signed-off-by: Suyeon Hwang --- server/vcd_recorder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/vcd_recorder.c b/server/vcd_recorder.c index bfa8fd3..a2d2648 100644 --- a/server/vcd_recorder.c +++ b/server/vcd_recorder.c @@ -777,10 +777,12 @@ Eina_Bool __read_test_func(void *data) if (buffer_size != BUFFER_LENGTH) SLOG(LOG_DEBUG, TAG_VCD, "[Recorder test] Get data size(%d)", buffer_size); + buffer_size = MIN(buffer_size, BUFFER_LENGTH); + if (NULL != g_audio_cb && buffer_size != 0) g_audio_cb(buffer, buffer_size); - float vol_db = get_volume_decibel(buffer, BUFFER_LENGTH); + float vol_db = get_volume_decibel(buffer, buffer_size); if (0 != vcdc_send_set_volume(vcd_client_manager_get_pid(), vol_db)) SLOG(LOG_ERROR, TAG_VCD, "[Recorder test] Fail to send recording volume(%f)", vol_db); -- 2.34.1