From: Jaechul Lee Date: Thu, 29 Jun 2023 01:38:43 +0000 (+0900) Subject: Fix Coverity issues X-Git-Tag: accepted/tizen/unified/20230703.143006^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b9af217262fa28f74c2e2b71b0fb4c18012cfe06;p=platform%2Fcore%2Fmultimedia%2Fpulseaudio-modules-tizen.git Fix Coverity issues [Version] 15.0.47 [Issue Type] Coverity Change-Id: I78aa096cbd122ec67a4eb8f0b988a0f21f308740 Signed-off-by: Jaechul Lee --- diff --git a/packaging/pulseaudio-modules-tizen.spec b/packaging/pulseaudio-modules-tizen.spec index ebc9709..a3c61f9 100644 --- a/packaging/pulseaudio-modules-tizen.spec +++ b/packaging/pulseaudio-modules-tizen.spec @@ -2,7 +2,7 @@ Name: pulseaudio-modules-tizen Summary: Pulseaudio modules for Tizen -Version: 15.0.46 +Version: 15.0.47 Release: 0 Group: Multimedia/Audio License: LGPL-2.1+ diff --git a/src/preprocessor/module-tizenaudio-preprocessor.c b/src/preprocessor/module-tizenaudio-preprocessor.c index 19857b7..32ae3a8 100644 --- a/src/preprocessor/module-tizenaudio-preprocessor.c +++ b/src/preprocessor/module-tizenaudio-preprocessor.c @@ -362,7 +362,7 @@ static pa_processor_holder *build_processor_holder(pa_core *core, pa_source_outp pa_processor_holder_register_processor_sequencial(holder, processor); - pa_log_info("processor was created. processor(%s), process_msec(%lu)", + pa_log_info("processor was created. processor(%s), process_msec(%" PRIu64 "ms)", processor_str, process_usec / PA_USEC_PER_MSEC); pa_xfree(processor_str); @@ -391,7 +391,6 @@ static void destroy_source_output_preprocessor(pa_source_output *o) { } o->preprocess = NULL; - o->thread_info.processor_holder = NULL; } static int preprocess(pa_source_output *o, pa_memchunk *chunk, pa_memchunk *ochunk) { @@ -566,21 +565,10 @@ static pa_hook_result_t source_output_fixate_cb(pa_core *c, pa_source_output_new } data->processor_holder = (void *)holder; - if (!data->processor_holder) { - pa_log_error("Failed to create processor_holder"); - goto fail; - } - data->flags |= PA_SOURCE_OUTPUT_PREPROCESSOR; pa_processor_holder_set_private_data(holder, u->preprocessor, u->asyncmsgq_source); - return PA_HOOK_OK; - -fail: - data->flags &= ~ PA_SOURCE_OUTPUT_PREPROCESSOR; - pa_processor_holder_free(holder); - return PA_HOOK_OK; } diff --git a/src/preprocessor/processor.c b/src/preprocessor/processor.c index c4e97fa..b05bb70 100644 --- a/src/preprocessor/processor.c +++ b/src/preprocessor/processor.c @@ -147,13 +147,13 @@ pa_processor *pa_processor_new(pa_core *core, if (pa_processor_convert_method(method, &audio_effect_method) < 0) { pa_log_error("Failed to convert audio-effect method. method(%d), audio_effect_method(%d)", method, audio_effect_method); - return NULL; + goto fail; } if (pa_processor_convert_format(ss->format, &format) < 0) { pa_log_error("Failed to convert audio-effect format. format(%d), audio_effect_format(%d)", ss->format, format); - return NULL; + goto fail; } processor->audio_effect = audio_effect_create(audio_effect_method, ss->rate, ss->channels, @@ -164,7 +164,7 @@ pa_processor *pa_processor_new(pa_core *core, "rate(%d), ch(%d), format(%d), frames(%zu)", audio_effect_method, ss->rate, ss->channels, format, processor->process_frames); - return NULL; + goto fail; } process_framesize = audio_effect_get_process_framesize(processor->audio_effect); @@ -202,6 +202,11 @@ pa_processor *pa_processor_new(pa_core *core, debug_open_file(processor); return processor; + +fail: + pa_xfree(processor); + + return NULL; } void pa_processor_free(pa_processor *processor) { diff --git a/src/preprocessor/processor_reference.c b/src/preprocessor/processor_reference.c index 6ade8c1..df1041a 100644 --- a/src/preprocessor/processor_reference.c +++ b/src/preprocessor/processor_reference.c @@ -139,6 +139,8 @@ fail: if (reference->resampler) pa_resampler_free(reference->resampler); + pa_xfree(reference); + return NULL; } @@ -208,7 +210,6 @@ int pa_processor_reference_pull(pa_processor_reference *reference, pa_memchunk * if (reference->interface) { pa_memchunk rchunk; void *buffer; - size_t ret; pa_assert(reference->interface->read); @@ -217,9 +218,9 @@ int pa_processor_reference_pull(pa_processor_reference *reference, pa_memchunk * rchunk.memblock = pa_memblock_new(reference->core->mempool, rchunk.length); buffer = pa_memblock_acquire_chunk(&rchunk); - if (reference->interface->read(reference->priv, buffer, length) < 0) { + if (reference->interface->read(reference->priv, buffer, length) == 0) { pa_memblock_release(rchunk.memblock); - pa_log_error("Failed to read reference source. length(%zu), ret(%zu)", length, ret); + pa_log_error("Failed to read reference source. length(%zu) ", length); goto exit; } diff --git a/src/tizenaudio-sink2.c b/src/tizenaudio-sink2.c index 913a0d7..38c7650 100644 --- a/src/tizenaudio-sink2.c +++ b/src/tizenaudio-sink2.c @@ -370,7 +370,6 @@ static int process_render(struct userdata *u) { static void thread_func(void *userdata) { struct userdata *u = userdata; - unsigned short revents = 0; pa_assert(u); @@ -409,7 +408,10 @@ static void thread_func(void *userdata) { if (PA_SINK_IS_OPENED(u->sink->thread_info.state)) { struct pollfd *pollfd; + if (u->rtpoll_item) { + unsigned short revents = 0; + pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL); revents = pollfd->revents; if (revents & ~POLLOUT) { @@ -429,7 +431,7 @@ static void thread_func(void *userdata) { } u->first = true; - revents = 0; + pollfd->revents = 0; } } } diff --git a/src/tizenaudio-source2.c b/src/tizenaudio-source2.c index e2b12b9..3887c52 100644 --- a/src/tizenaudio-source2.c +++ b/src/tizenaudio-source2.c @@ -266,6 +266,7 @@ static int source_process_msg( } case PA_SOURCE_MESSAGE_ADD_OUTPUT: { pa_source_output *output = PA_SOURCE_OUTPUT(data); + pa_assert(output); if (output->flags & PA_SOURCE_OUTPUT_PREPROCESSOR) { pa_processor_holder *holder = (pa_processor_holder *)output->thread_info.processor_holder; @@ -281,6 +282,7 @@ static int source_process_msg( } case PA_SOURCE_MESSAGE_REMOVE_OUTPUT: { pa_source_output *output = PA_SOURCE_OUTPUT(data); + pa_assert(output); if (output->flags & PA_SOURCE_OUTPUT_PREPROCESSOR) { pa_processor_holder *holder = (pa_processor_holder *)output->thread_info.processor_holder; @@ -351,7 +353,6 @@ static int process_render(struct userdata *u) { static void thread_func(void *userdata) { struct userdata *u = userdata; - unsigned short revents = 0; pa_assert(u); pa_log_debug("Thread starting up"); @@ -387,7 +388,10 @@ static void thread_func(void *userdata) { if (PA_SOURCE_IS_OPENED(u->source->thread_info.state)) { struct pollfd *pollfd; + if (u->rtpoll_item) { + unsigned short revents = 0; + pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL); revents = pollfd->revents; if (revents & ~POLLIN) { @@ -407,7 +411,7 @@ static void thread_func(void *userdata) { } u->first = true; - revents = 0; + pollfd->revents = 0; } } } @@ -557,7 +561,7 @@ pa_source *pa_tizenaudio_source2_new(pa_module *m, pa_log_info("Device opened. card(%s), device(%s) rate(%d), channels(%d), format(%s), " "frag_size(%u), nfrags(%u), period_size(%u), periods(%u)", u->card, u->device, ss.rate, ss.channels, pa_sample_format_to_string(ss.format), - u->frag_size, u->nfrags, period_size, param.periods); + u->frag_size, u->nfrags, param.period_size, param.periods); pa_source_new_data_init(&data); data.driver = driver;