Fix improper implementation of CPulseAudioClient::getReadableSize() 33/221333/1 accepted/tizen/unified/20200101.120425 submit/tizen/20191231.101001
authorSeungbae Shin <seungbae.shin@samsung.com>
Tue, 31 Dec 2019 06:55:04 +0000 (15:55 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Tue, 31 Dec 2019 06:55:04 +0000 (15:55 +0900)
+ Fix 'Dereference null return value' issue reported by Covertity

[Version] 0.5.23
[Issue Type] Bug

Change-Id: Ic6ad0f52b4ee1ad7e29a8c6f6bdcd46e1f6b734d

packaging/capi-media-audio-io.spec
src/cpp/CPulseAudioClient.cpp
test/audio_io_test.c

index 62a471c..11038f3 100644 (file)
@@ -1,6 +1,6 @@
 Name:           capi-media-audio-io
 Summary:        An Audio Input & Audio Output library in Tizen Native API
-Version:        0.5.22
+Version:        0.5.23
 Release:        0
 Group:          Multimedia/API
 License:        Apache-2.0
index c3f68c9..2b598d7 100644 (file)
@@ -877,7 +877,7 @@ size_t CPulseAudioClient::getReadableSize() {
         ret = pa_stream_readable_size(__mpStream);
         pa_threaded_mainloop_unlock(__mpMainloop);
     } else {
-        ret = pa_stream_writable_size(__mpStream);
+        ret = pa_stream_readable_size(__mpStream);
     }
 
     return ret;
index be3946c..f3f5304 100644 (file)
@@ -122,6 +122,10 @@ static void _audio_out_stream_cb(audio_out_h handle, size_t nbytes, void *user_d
        }
 
        buf = (char *)malloc(nbytes);
+       if (!buf) {
+               printf("malloc(%zu) failed\n", nbytes);
+               return;
+       }
 
        read_bytes = fread(buf, 1, nbytes, fp);