From patchwork Tue Apr 21 17:04:45 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luka Perkov X-Patchwork-Id: 463407 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8AA221401AD for ; Wed, 22 Apr 2015 03:07:50 +1000 (AEST) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id C225528BEDF; Tue, 21 Apr 2015 19:05:11 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=unavailable version=3.3.2 Received: from localhost (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 434EF28BD57; Tue, 21 Apr 2015 19:04:43 +0200 (CEST) X-Virus-Scanned: at arrakis.dune.hu Received: from t530.lan (cpe-94-253-155-145.zg.cable.xnet.hr [94.253.155.145]) by arrakis.dune.hu (Postfix) with ESMTPSA id 76FD528BC75; Tue, 21 Apr 2015 19:04:36 +0200 (CEST) From: Luka Perkov To: openwrt-devel@lists.openwrt.org Date: Tue, 21 Apr 2015 19:04:45 +0200 Message-Id: <1429635886-4895-3-git-send-email-luka@openwrt.org> X-Mailer: git-send-email 2.3.5 In-Reply-To: <1429635886-4895-1-git-send-email-luka@openwrt.org> References: <1429635886-4895-1-git-send-email-luka@openwrt.org> Cc: Luka Perkov Subject: [OpenWrt-Devel] [PATCH 3/4] [ubox] log: make valgrind less complain by freeing allocated memory X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" Signed-off-by: Luka Perkov --- log/logd.c | 5 ++++- log/syslog.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/log/logd.c b/log/logd.c index 4a7a746..a4335ea 100644 --- a/log/logd.c +++ b/log/logd.c @@ -70,6 +70,7 @@ read_log(struct ubus_context *ctx, struct ubus_object *obj, struct log_head *l; int count = 0; int fds[2]; + int ret; if (msg) { blobmsg_parse(&read_policy, 1, &tb, blob_data(msg), blob_len(msg)); @@ -96,7 +97,9 @@ read_log(struct ubus_context *ctx, struct ubus_object *obj, blobmsg_add_u32(&b, "source", l->source); blobmsg_add_u64(&b, "time", l->ts.tv_sec * 1000LL); l = log_list(count, l); - if (ustream_write(&cl->s.stream, (void *) b.head, blob_len(b.head) + sizeof(struct blob_attr), false) <= 0) + ret = ustream_write(&cl->s.stream, (void *) b.head, blob_len(b.head) + sizeof(struct blob_attr), false); + blob_buf_free(&b); + if (ret < 0) break; } return 0; diff --git a/log/syslog.c b/log/syslog.c index f75fed9..a596b48 100644 --- a/log/syslog.c +++ b/log/syslog.c @@ -299,4 +299,5 @@ log_shutdown(void) ustream_free(&klog.stream); close(slog.fd.fd); close(klog.fd.fd); + free(log); }