caif: fix memory leak in cfctrl_linkup_request()
[linux-2.6-microblaze.git] / net / caif / cfctrl.c
index cc405d8..8480684 100644 (file)
@@ -269,11 +269,15 @@ int cfctrl_linkup_request(struct cflayer *layer,
        default:
                pr_warn("Request setup of bad link type = %d\n",
                        param->linktype);
+               cfpkt_destroy(pkt);
                return -EINVAL;
        }
        req = kzalloc(sizeof(*req), GFP_KERNEL);
-       if (!req)
+       if (!req) {
+               cfpkt_destroy(pkt);
                return -ENOMEM;
+       }
+
        req->client_layer = user_layer;
        req->cmd = CFCTRL_CMD_LINK_SETUP;
        req->param = *param;