libubus: fix a small memleak in ubus_register_event_handler()
authorFelix Fietkau <nbd@openwrt.org>
Thu, 4 Sep 2014 18:01:13 +0000 (20:01 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 4 Sep 2014 18:01:13 +0000 (20:01 +0200)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
libubus.c

index be4e6ac..e42f14f 100644 (file)
--- a/libubus.c
+++ b/libubus.c
@@ -243,8 +243,11 @@ int ubus_register_event_handler(struct ubus_context *ctx,
        if (pattern)
                blobmsg_add_string(&b2, "pattern", pattern);
 
        if (pattern)
                blobmsg_add_string(&b2, "pattern", pattern);
 
-       return ubus_invoke(ctx, UBUS_SYSTEM_OBJECT_EVENT, "register", b2.head,
+       ret = ubus_invoke(ctx, UBUS_SYSTEM_OBJECT_EVENT, "register", b2.head,
                          NULL, NULL, 0);
                          NULL, NULL, 0);
+       blob_buf_free(&b2);
+
+       return ret;
 }
 
 int ubus_send_event(struct ubus_context *ctx, const char *id,
 }
 
 int ubus_send_event(struct ubus_context *ctx, const char *id,