From patchwork Fri Jan 12 17:45:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yifeng Sun X-Patchwork-Id: 860226 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Zy6uvFvU"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zJHyL6y8wz9ryr for ; Sat, 13 Jan 2018 09:50:18 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 15C75FEF; Fri, 12 Jan 2018 22:49:27 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 3E30CF64 for ; Fri, 12 Jan 2018 22:49:23 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 06AEC44D for ; Fri, 12 Jan 2018 22:49:22 +0000 (UTC) Received: by mail-pg0-f68.google.com with SMTP id q67so5475613pga.9 for ; Fri, 12 Jan 2018 14:49:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=b1OwZmafQIZYNRqELqhfwu5APhHLVTMgNqS1OLCM74E=; b=Zy6uvFvUiUTsJ/13k9pYsEKGb81IEZOFi2ZXZgEMfXaWrt76PpQ+04paX15L9gVKAA GGYv7FsC23uWSPwByqdvCZ8Zkc3PCwRyJs5VekJ0oCK9PV/FjezXNYJj9OszInz/vuL1 X/l5LiniqbjyZGv3DKG41G1j2YIV7tJRhmoIgh2kyD2Mckt1Rk48AMxQ273GDYtrLSHo 9aNFBg9SxyJFu8+vu0x9axkyqVgf3LFkFbwTHo1DRyDi8m2nlTEqnjrgfr95zf0Jbvxf EMRXwhft6gm8U+jALylMET0v81RZbUCQqjcOz8ufgqVZJzygxr/JQEG+Huhp/V9GfI5G Ntpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=b1OwZmafQIZYNRqELqhfwu5APhHLVTMgNqS1OLCM74E=; b=hjFdh14cIWzTy0fjSolxTqoSYSOo8Zf1OrZ14h1r5VVvQPEj1Xos9tF9mnt4VctnKR oFsNFtwWbrQD9M2il26BEc3bn9QeivbKkpeoF/ZkptbaIlTkoICnIp1X9LCudwbIeNg3 FTEer7tLAyrDIlyR+vShbgXqpYy19cTjXbzkY2G7+6f0jg1aU0dYGZtIojg5eLg1vAIZ 6uEP1buLoBGFjLGjv1+7rxUnh5rBPLpi1/LMI9XtULZMuXpmNZy8Tt7pPxCvP+mFrEZ1 DBr50a0281K4UkMvdmAan1mFyED/s5/m6fL6e1mCdVMGBOXb5UEhgC8c4NafBTtxY9/0 OCJw== X-Gm-Message-State: AKGB3mJfmp8c2VNRpf9fsginpeTb2HxPCkNxC0jpKw4jBSM/yblZRh7V Z8kSDXgRyx3I6fSPzeKo6ENJCQ== X-Google-Smtp-Source: ACJfBotEC2FtsIBv7Khm8JptooKXi2Py0gJzZipQhbMAvrquKTJMgflUFric2uLmGbQrt+/A7JkqWw== X-Received: by 10.159.246.19 with SMTP id b19mr23315262pls.164.1515797362438; Fri, 12 Jan 2018 14:49:22 -0800 (PST) Received: from yfsovs.eng.vmware.com ([208.91.1.34]) by smtp.gmail.com with ESMTPSA id g15sm8818600pgu.52.2018.01.12.14.49.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 12 Jan 2018 14:49:21 -0800 (PST) From: Yifeng Sun To: dev@openvswitch.org Date: Fri, 12 Jan 2018 09:45:31 -0800 Message-Id: <1515779132-28902-3-git-send-email-pkusunyifeng@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515779132-28902-1-git-send-email-pkusunyifeng@gmail.com> References: <1515779132-28902-1-git-send-email-pkusunyifeng@gmail.com> X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00, DATE_IN_PAST_03_06, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH 3/4] ovsdb-client: Fix memory leaks X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org This two leaks are reported by valgrind (testing ovsdb-client backup and restore): 890 (56 direct, 834 indirect) bytes in 1 blocks are definitely lost in loss record 71 of 73 by 0x42DE22: xcalloc (util.c:103) by 0x40DD8C: ovsdb_schema_create (ovsdb.c:34) by 0x40E0B5: ovsdb_schema_from_json (ovsdb.c:196) by 0x406DA5: fetch_schema (ovsdb-client.c:415) by 0x408478: do_restore (ovsdb-client.c:1595) by 0x405BCD: main (ovsdb-client.c:170) 2,688 (88 direct, 2,600 indirect) bytes in 1 blocks are definitely lost in loss record 73 of 73 by 0x42DE84: xmalloc (util.c:120) by 0x40E61F: ovsdb_create (ovsdb.c:329) by 0x40BA22: ovsdb_file_open__ (file.c:201) by 0x40845A: do_restore (ovsdb-client.c:1592) by 0x405BCD: main (ovsdb-client.c:170) Signed-off-by: Yifeng Sun --- ovsdb/ovsdb-client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c index 0ab4d66..faa6bdb 100644 --- a/ovsdb/ovsdb-client.c +++ b/ovsdb/ovsdb-client.c @@ -1612,6 +1612,7 @@ do_restore(struct jsonrpc *rpc, const char *database, VLOG_INFO("%s", ds_cstr(&s)); ds_destroy(&s); } + ovsdb_schema_destroy(schema2); struct json *txn = json_array_create_empty(); json_array_add(txn, json_string_create(schema->name)); @@ -1653,6 +1654,7 @@ do_restore(struct jsonrpc *rpc, const char *database, json_array_add(txn, ins_op); } } + ovsdb_destroy(backup); struct jsonrpc_msg *rq = jsonrpc_create_request("transact", txn, NULL); struct jsonrpc_msg *reply; check_txn(jsonrpc_transact_block(rpc, rq, &reply), &reply);