stream-manager-dbus: fix improper null handling on handle_get_current_volume_type() 88/254688/1 accepted/tizen/unified/20210308.233744 submit/tizen/20210308.104642
authorSeungbae Shin <seungbae.shin@samsung.com>
Mon, 8 Mar 2021 08:47:34 +0000 (17:47 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Mon, 8 Mar 2021 08:47:34 +0000 (17:47 +0900)
[Version] 13.0.49
[Issue Type] Bug fix

Change-Id: I067eeadf9deabcc17676df254984437920765be4

packaging/pulseaudio-modules-tizen.spec
src/stream-manager-dbus.c

index 005241f..06a0216 100644 (file)
@@ -1,6 +1,6 @@
 Name:             pulseaudio-modules-tizen
 Summary:          Pulseaudio modules for Tizen
-Version:          13.0.48
+Version:          13.0.49
 Release:          0
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
index 40b2160..80ec2c1 100644 (file)
@@ -1475,7 +1475,7 @@ finish:
 static void handle_get_current_volume_type(DBusConnection *conn, DBusMessage *msg, void *userdata) {
     pa_stream_manager *m = (pa_stream_manager *)userdata;
     const char *direction = NULL;
-    const char *type = dbus_str_none;
+    const char *result = dbus_str_none;
     void *s = NULL;
     stream_type_t stream_type = STREAM_SINK_INPUT;
     DBusMessage *reply = NULL;
@@ -1507,6 +1507,7 @@ static void handle_get_current_volume_type(DBusConnection *conn, DBusMessage *ms
         int cur_max_priority = 0;
         const char *cur_max_type = NULL;
         const char *role = NULL;
+        const char *type = NULL;
         stream_info *s_info;
 
         PA_IDXSET_FOREACH(s, streams, idx) {
@@ -1524,14 +1525,16 @@ static void handle_get_current_volume_type(DBusConnection *conn, DBusMessage *ms
                 }
             }
         }
-        type = cur_max_type;
+
+        if (cur_max_type)
+            result = cur_max_type;
     }
 
-    if (!strncmp(type, dbus_str_none, strlen(dbus_str_none)))
+    if (pa_safe_streq(result, dbus_str_none))
        ret = RET_MSG_ERROR_NO_STREAM;
 
 finish:
-    pa_assert_se(dbus_message_append_args(reply, DBUS_TYPE_STRING, &type,
+    pa_assert_se(dbus_message_append_args(reply, DBUS_TYPE_STRING, &result,
                                                  DBUS_TYPE_STRING, &stream_manager_dbus_ret_str[ret],
                                                  DBUS_TYPE_INVALID));
     pa_assert_se(dbus_connection_send(conn, reply, NULL));