Fix SVACE defect (DEREF_OF_NULL.EX) 35/318535/1 accepted/tizen_unified_x_asan accepted/tizen/unified/20250122.054604 accepted/tizen/unified/x/20250122.065434 accepted/tizen/unified/x/asan/20250211.003519
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 20 Jan 2025 06:06:01 +0000 (15:06 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 20 Jan 2025 06:07:07 +0000 (15:07 +0900)
The defect only belonged to 'src/webrtc_resource.c'.
But similar codes in other files have also been revised.

[Version] 1.1.45
[Issue Type] SVACE

Change-Id: I9e6d201d9de7a060663c941e57b6d3346d1a9a09
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-webrtc.spec
src/webrtc_resource.c
src/webrtc_signaling_client.c
src/webrtc_signaling_server.c
src/webrtc_sink_snapshot.c
src/webrtc_stats.c
test/webrtc_test.c

index 1690d56ebae4f8c2a0b96e37ccf0b3e18261f90b..8c4026f5e7476b6d8e4fe082f10d48ea8f518e5f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    1.1.44
+Version:    1.1.45
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index e54a71f44ecd32c7ce0a441782d6c9c0f2aa30b9..c03d9b8886cbd949df8f58e538605c0578a87306 100644 (file)
@@ -32,7 +32,7 @@ static int __get_appid_by_pid(int pid, char *name, size_t size)
        cmdline = g_strdup_printf("/proc/%d/cmdline", pid);
 
        if (!g_file_get_contents(cmdline, &contents, NULL, &error)) {
-               LOG_ERROR("error : %s", error->message);
+               LOG_ERROR("error:%s", error ? error->message : "null");
                return WEBRTC_ERROR_INVALID_OPERATION;
        }
 
index 4084964252f610814b110e971efd6ab7feda25c8..93888ee331d83213b2a36eb377386917dbc7f217 100644 (file)
@@ -144,7 +144,7 @@ static void __websocket_connected_cb(SoupSession *session, GAsyncResult *res, vo
 
        ws_conn = soup_session_websocket_connect_finish(session, res, &error);
        if (!ws_conn) {
-               LOG_ERROR("failed to soup_session_websocket_connect_finish(), error[%s]", error->message);
+               LOG_ERROR("failed to soup_session_websocket_connect_finish(), error:%s", error ? error->message : "null");
                g_error_free(error);
                return;
        }
index 7b43462196720566ebc7816f66935df733a5d499..7ad374cb375a5327550f1fd26ab0944079bb550c 100644 (file)
@@ -445,7 +445,7 @@ int webrtc_signaling_server_start(webrtc_signaling_server_h server)
 
        _server->thread = g_thread_try_new("signaling-thread", __thread_func, _server, &error);
        RET_VAL_IF(_server->thread == NULL, WEBRTC_ERROR_INVALID_OPERATION,
-               "failed to g_thread_try_new(), error[%s]", error->message);
+               "failed to g_thread_try_new(), error:%s", error ? error->message : "null");
 
        LOG_INFO("server[%p, thread:%p]", _server, _server->thread);
 
index 31d87ebf205dc2fd8dcbd741795d9ba697648a32..3f99825c3e9db686c166f50d6f3295c57ae3cd44 100644 (file)
@@ -388,7 +388,7 @@ static void __dump_rgb24_result(webrtc_video_frame_s *result, unsigned int idx)
        file_path = g_strdup_printf("/tmp/snapshot_%03u_%ux%u_RGB24.dump", idx, result->width, result->height);
 
        if (!g_file_set_contents(file_path, (char *)result->data, result->size, &error)) {
-               LOG_ERROR("failed to g_file_set_contents() for %s, error:%s", file_path, error->message);
+               LOG_ERROR("failed to g_file_set_contents() for %s, error:%s", file_path, error ? error->message : "null");
                return;
        }
 
@@ -409,7 +409,7 @@ static void __dump_encoded_result(webrtc_video_frame_s *result, int target_forma
                idx, result->width, result->height, __get_format_str((webrtc_snapshot_format_e)target_format), option);
 
        if (!g_file_set_contents(file_path, (char *)result->data, result->size, &error)) {
-               LOG_ERROR("failed to g_file_set_contents() for %s, error:%s", file_path, error->message);
+               LOG_ERROR("failed to g_file_set_contents() for %s, error:%s", file_path, error ? error->message : "null");
                return;
        }
 
@@ -570,4 +570,4 @@ int _capture_video_frame(webrtc_gst_slot_s *sink)
 
        return WEBRTC_ERROR_NONE;
 }
-//LCOV_EXCL_STOP
\ No newline at end of file
+//LCOV_EXCL_STOP
index ace3ba2e1456d4a2a5ed17aef02b6768048ccf81..2acaf0cdfa730693031baa2b90c5743e5fa5d1b6 100644 (file)
@@ -921,7 +921,7 @@ static void __dump_json_object_to_file(JsonObject *object, const gchar *path)
        generator = json_generator_new();
        json_generator_set_root(generator, root);
        if (!json_generator_to_file(generator, path, &error))
-               LOG_ERROR("failed to json_generator_to_file() for %s, error:%s", path, error ? error->message : "none");
+               LOG_ERROR("failed to json_generator_to_file() for %s, error:%s", path, error ? error->message : "null");
 
        g_object_unref(generator);
        json_node_free(root);
index 8eb26adef3876a67648782bf4733da2609ed14d8..8384ac894d3d62f614d06dc15a53886e3da47d38 100644 (file)
@@ -1535,7 +1535,7 @@ static void __file_dump(const gchar *file_name, void *src_buffer, int size)
        full_path = g_strdup_printf("/tmp/%s", file_name);
 
        if (!g_file_set_contents((const gchar *)full_path, (const gchar *)src_buffer, (gssize)size, &error))
-               g_print("__file_dump(), failed to g_file_set_contents[%s], error:%s\n", full_path, error ? error->message : "none");
+               g_print("__file_dump(), failed to g_file_set_contents[%s], error:%s\n", full_path, error ? error->message : "null");
        else
                g_print("__file_dump(), [%s, %d bytes] is ready\n", full_path, size);
 }