bus: fix memory leak on malformed messages
authorDaniel Mack <zonque@gmail.com>
Wed, 18 Dec 2013 00:38:43 +0000 (01:38 +0100)
committerDaniel Mack <zonque@gmail.com>
Wed, 18 Dec 2013 00:38:43 +0000 (01:38 +0100)
bus.c

diff --git a/bus.c b/bus.c
index 4b741e40b1cb352505a759b985ed6146e34c69ce..f0a814b14f50d88d5976739a7bb457baecfe56fb 100644 (file)
--- a/bus.c
+++ b/bus.c
@@ -332,8 +332,10 @@ int kdbus_bus_make_user(void __user *buf, struct kdbus_cmd_make **make,
                }
        }
 
-       if (!KDBUS_ITEM_END(item, m))
-               return -EINVAL;
+       if (!KDBUS_ITEM_END(item, m)) {
+               ret = -EINVAL;
+               goto exit;
+       }
 
        if (!n) {
                ret = -EBADMSG;