connection: check return value of kdbus_meta_append()
authorDaniel Mack <daniel@zonque.org>
Thu, 11 Sep 2014 15:10:29 +0000 (17:10 +0200)
committerDaniel Mack <daniel@zonque.org>
Thu, 11 Sep 2014 15:10:29 +0000 (17:10 +0200)
connection.c

index 2778e0b995698119da066e00243dd2e185412027..5013de255177ba97470dfd4f25760f9668bda91b 100644 (file)
@@ -595,10 +595,15 @@ int kdbus_conn_kmsg_send(struct kdbus_ep *ep,
                         * receivers after that will see all of the added
                         * data, even when they did not ask for it.
                         */
-                       if (conn_src)
-                               kdbus_meta_append(kmsg->meta, conn_src,
-                                                 kmsg->seq,
-                                                 conn_dst->attach_flags);
+                       if (conn_src) {
+                               ret = kdbus_meta_append(kmsg->meta,
+                                                       conn_src, kmsg->seq,
+                                                       conn_dst->attach_flags);
+                               if (ret < 0) {
+                                       mutex_unlock(&bus->lock);
+                                       return ret;
+                               }
+                       }
 
                        kdbus_conn_entry_insert(conn_dst, conn_src, kmsg, NULL);
                }