match: plug memory leak
authorDaniel Mack <zonque@gmail.com>
Wed, 18 Dec 2013 00:45:20 +0000 (01:45 +0100)
committerDaniel Mack <zonque@gmail.com>
Wed, 18 Dec 2013 00:45:20 +0000 (01:45 +0100)
match.c

diff --git a/match.c b/match.c
index 06fb7b098401cd5fc5a85e2d1d38baffadc0244b..99743f404d7fc86ea867ee6f270d57453e2e1358 100644 (file)
--- a/match.c
+++ b/match.c
@@ -332,8 +332,10 @@ static int cmd_match_from_user(const struct kdbus_conn *conn,
        if (cmd_match->id == 0)
                cmd_match->id = conn->id;
        else if (cmd_match->id != conn->id &&
-                !kdbus_bus_uid_is_privileged(conn->ep->bus))
-                       return -EPERM;
+                !kdbus_bus_uid_is_privileged(conn->ep->bus)) {
+               kfree(cmd_match);
+               return -EPERM;
+       }
 
        *m = cmd_match;