Fix Coverity issues 21/294921/9 accepted/tizen/unified/20230703.143006 accepted/tizen/unified/dev/20230726.115814
authorJaechul Lee <jcsing.lee@samsung.com>
Thu, 29 Jun 2023 01:38:43 +0000 (10:38 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Thu, 29 Jun 2023 05:54:05 +0000 (14:54 +0900)
[Version] 15.0.47
[Issue Type] Coverity

Change-Id: I78aa096cbd122ec67a4eb8f0b988a0f21f308740
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
packaging/pulseaudio-modules-tizen.spec
src/preprocessor/module-tizenaudio-preprocessor.c
src/preprocessor/processor.c
src/preprocessor/processor_reference.c
src/tizenaudio-sink2.c
src/tizenaudio-source2.c

index ebc9709c006f27c26e63295cee8e13492a893eca..a3c61f9a948404ef8c8044025103de76c1eb8673 100644 (file)
@@ -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+
index 19857b7672452954c1f377cbd65e719180bc0a55..32ae3a82b6028e8541cb2b96e6763fb403d722eb 100644 (file)
@@ -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;
 }
 
index c4e97fab5bb546c76b4c3a63bc97b34ca4307e08..b05bb70e30262da8bec6c54336cc358a7a0f65cd 100644 (file)
@@ -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) {
index 6ade8c1be244ebfde52ad9ca0134013544a55d53..df1041a6c037a16fd71367a6e18573fa8439c152 100644 (file)
@@ -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;
         }
 
index 913a0d76117e2a84a260672519b6c603e92a6914..38c7650d0c714c2dc603ea7b3ed39f6a0b55b5ef 100644 (file)
@@ -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;
                 }
             }
         }
index e2b12b910609c110f0759b057120d1fe65ba43b5..3887c52baebcf2a92f0749a18a737ae113c68eb2 100644 (file)
@@ -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;