From patchwork Thu Apr 4 11:44:19 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Devendra Naga X-Patchwork-Id: 233749 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9F75F2C00A1 for ; Thu, 4 Apr 2013 22:44:35 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758294Ab3DDLoa (ORCPT ); Thu, 4 Apr 2013 07:44:30 -0400 Received: from mail-pd0-f180.google.com ([209.85.192.180]:53777 "EHLO mail-pd0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758321Ab3DDLo3 (ORCPT ); Thu, 4 Apr 2013 07:44:29 -0400 Received: by mail-pd0-f180.google.com with SMTP id q11so1388834pdj.11 for ; Thu, 04 Apr 2013 04:44:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=xXVPFBE6j5vFQpq1QMUdjol9RZsihemoQEeaBIzDIZM=; b=EA+QbiCc6hE5fetcAwP0lfNOHZOKldz0xcgzNZ2d09/5Z+crVEx8+advu6MTHCOPki MdVRHvt0rc3XcvgkUkLde30NB9n1mdxM3AEc/AzgyxnJFFSBTYQXe2bRDoqR7CcKMOD8 COzpZEZlvDc7RYjyGf4mjiqBYBsen4n4s+D8JMRYvTTvC+hX9DSfQR5cwCLhNbLhmUcT U3AI4EaMpHv9ETPEN/1R8IjiLKO4gweP5fYqi80Aw6/lS6wZfimybPpg3L/3qjPQk0iU 5eNUcg1AnCNMu3wrFkiUlP2BZuZrMx5/xFwnVNBJbV5PRV5L7nxE7DApOGezwRdh+XCt RY0A== X-Received: by 10.68.226.201 with SMTP id ru9mr8370004pbc.102.1365075869054; Thu, 04 Apr 2013 04:44:29 -0700 (PDT) Received: from localhost.localdomain ([117.215.128.178]) by mx.google.com with ESMTPS id k4sm9883796pbi.45.2013.04.04.04.44.25 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 04 Apr 2013 04:44:27 -0700 (PDT) From: Devendra Naga To: Stephen Hemminger , netdev@vger.kernel.org Cc: Devendra Naga Subject: [PATCH V2] bridge-utils: fix AF_LOCAL socket leaks Date: Thu, 4 Apr 2013 17:14:19 +0530 Message-Id: <1365075859-8767-1-git-send-email-devendra.aaru@gmail.com> X-Mailer: git-send-email 1.8.1.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org valgrind reported the following leak on fc18 system: valgrind -v --leak-check=full --track-fds=yes ./brctl show ==27307== ==27307== FILE DESCRIPTORS: 4 open at exit. ==27307== Open AF_UNIX socket 3: ==27307== at 0x397B2F3617: socket (in /usr/lib64/libc-2.16.so) ==27307== by 0x403CF7: br_init (libbridge_init.c:35) ==27307== by 0x4010BF: main (brctl.c:63) fix it by calling br_shutdown the same leak may occur if the command is ./brctl addbr or ./brctl delbr because the goto directly goes to help() rather closing it. Signed-off-by: Devendra Naga --- brctl/brctl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/brctl/brctl.c b/brctl/brctl.c index 46ca352..84b7536 100644 --- a/brctl/brctl.c +++ b/brctl/brctl.c @@ -43,6 +43,7 @@ int main(int argc, char *const* argv) { .name = "version", .val = 'V' }, { 0 } }; + int ret; while ((f = getopt_long(argc, argv, "Vh", options, NULL)) != EOF) switch(f) { @@ -79,9 +80,13 @@ int main(int argc, char *const* argv) return 1; } - return cmd->func(argc, argv); + ret = cmd->func(argc, argv); + br_shutdown(); + + return ret; help: + br_shutdown(); help(); return 1; }