coverity fix 13/205813/6
authorsanghyeok.oh <sanghyeok.oh@samsung.com>
Thu, 9 May 2019 08:57:53 +0000 (17:57 +0900)
committersanghyeok.oh <sanghyeok.oh@samsung.com>
Thu, 9 May 2019 12:53:26 +0000 (21:53 +0900)
Change-Id: Iac35795aaa9a0640c83b59ddb6fb5dc18435746f
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
dbus/dbus-marshal-gvariant.c
dbus/dbus-marshal-recursive.c
dbus/dbus-transport-kdbus.c

index 8fd7f22..d9af97a 100644 (file)
@@ -837,8 +837,8 @@ _dbus_message_finalize_gvariant (DBusMessage *message, dbus_bool_t remove_signat
     type_str = &str;
     type_pos = 0;
     /* Let's set the body also */
-    _dbus_string_set_length (&message->body, 0);
-    _dbus_string_append_byte (&message->body, 0);
+    res = res && _dbus_string_set_length (&message->body, 0);
+    res = res && _dbus_string_append_byte (&message->body, 0);
   }
 
   res = res && _dbus_message_gvariant_add_signature (message, &str);
index 4e89927..bd77bfa 100644 (file)
@@ -2149,7 +2149,8 @@ writer_recurse_array (DBusTypeWriter   *writer,
             {
               sub->offsets_size = 1;
               sub->offsets = dbus_new (DBusString, 1);
-              _dbus_string_init (sub->offsets);
+              if (sub->offsets == NULL || !_dbus_string_init (sub->offsets))
+                return FALSE;
             }
           else
             {
index 3004f10..8111bd2 100755 (executable)
@@ -235,8 +235,12 @@ reply_with_error_preset_sender (const char     *error_type,
   if (errMessage == NULL)
      return NULL;
 
-  if (sender)
-    dbus_message_set_sender (errMessage, sender);
+  if (sender && !dbus_message_set_sender (errMessage, sender))
+    {
+      _dbus_verbose ("oom");
+      dbus_message_unref (errMessage);
+      return NULL;
+    }
 
   return errMessage;
 }
@@ -867,9 +871,9 @@ kdbus_write_msg_internal (DBusTransportKdbus  *transport,
       if (memfd >= 0)
         {
           /* prepare memfd for body */
-          if (prepare_mfd (memfd,
+          if (-1 == prepare_mfd (memfd,
                            body_data,
-                           (footer_ptr - body_data) * sizeof(char)) == -1)
+                           (uint64_t)((footer_ptr - body_data) * sizeof(char))))
             {
               ret_size = -1;
               goto out;
@@ -2792,7 +2796,8 @@ kdbus_handle_name_owner_changed (__u64               type,
       _dbus_verbose ("%s\n", const_ptr);
     }
 
-  dbus_message_set_sender (message, DBUS_SERVICE_DBUS);
+  if (!dbus_message_set_sender (message, DBUS_SERVICE_DBUS))
+    goto error;
   dbus_message_set_serial (message, get_next_client_serial (transport));
 
   if (!add_message_to_received (message, transport->base.connection))
@@ -2895,7 +2900,11 @@ can_receive (DBusTransportKdbus     *transport,
 
         result = FALSE;
 
-        _dbus_string_init (&names);
+        if (!_dbus_string_init (&names))
+          {
+            _dbus_verbose ("oom:_dbus_string_init");
+            return FALSE;
+          }
 
         KDBUS_ITEM_FOREACH(item, msg, items)
           switch (item->type)
@@ -2916,12 +2925,22 @@ can_receive (DBusTransportKdbus     *transport,
                   if (_dbus_validate_bus_name (&name, 0, _dbus_string_get_length (&name)))
                     {
                       if (_dbus_string_get_length (&names) != 0)
-                        _dbus_string_append_byte (&names, ' ');
-
-                      _dbus_string_copy (&name,
+                        {
+                          if (!_dbus_string_append_byte (&names, ' '))
+                            {
+                              _dbus_string_free (&names);
+                              return FALSE;
+                            }
+                        }
+
+                      if (!_dbus_string_copy (&name,
                                          0,
                                          &names,
-                                         _dbus_string_get_length (&names));
+                                         _dbus_string_get_length (&names)))
+                        {
+                          _dbus_string_free (&names);
+                          return FALSE;
+                        }
                     }
                 }
                 break;