From patchwork Thu Aug 3 12:34:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ga=C3=ABtan_Rivet?= X-Patchwork-Id: 27404 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 88730324C; Thu, 3 Aug 2017 14:34:18 +0200 (CEST) Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by dpdk.org (Postfix) with ESMTP id 0F8C42C55 for ; Thu, 3 Aug 2017 14:34:17 +0200 (CEST) Received: by mail-wm0-f48.google.com with SMTP id t201so14128148wmt.0 for ; Thu, 03 Aug 2017 05:34:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=zWgGfO328A21iUaRRatZSMOJrlbI3wFzxArF3d/ESGY=; b=yofQMjNJKGnJd5NGhydCeV6vaZULcvcCcv2M1JFbEQCt9ULm6EzfruWyGdI6otORUv Ngtm6ElqauKoT/4Izge7j7eyl6I9clhP/yzIcbWf2gDZXr39aw+WkyykBJYF2XcLpkMK MTsSgsHIl/FG50ZMR8W2c0xM28rg9o8NuX8Wwyhy1KfzACk+xt8iEYgRlnQ37scZvnrm i1vuYHsavLusmt9k7xkQK3ZJ3Xnt8xCcMqJepv38Sxadj7R/OVfKHy1t+AIb42ChvGJy Y+4xv34ckKIt3IXbVqoYvvypfcuuvPPo0gsv2V+Hc1u/eIAVNsHA9+AvE3Yi5+B3c530 tcCQ== 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; bh=zWgGfO328A21iUaRRatZSMOJrlbI3wFzxArF3d/ESGY=; b=ioy++6YQTxV+0lEH9VI2tcCOMvQYXB2ozUdVbNQd0BBpiBwP68ToQjlBnvi9yga2mN eaVooV0RqKzyCGcjJE0+bSGYMB+H60CwuSWZyP+xNO9K6gFbu4QqX6PgHnFCwS+MpyAr Udgb6hQH2QeQjgGm+hdr021wr3e6sem0ksPBSrMcWei8ZWcaHeRUM4EZqyN0m1ZlKRSL B0FQ5U9zPzHjJhJcj9d4sQwC1AGZDiIYvjakj64OkG8SnJGCUOh2El84kbEmHhPHt5AB IFoRrgABbODKSjAV3a9OwnYrQZXhaKpPayFftRdzDHGVPJrboMzMOYb+MUWAMzOMuKhP XPoQ== X-Gm-Message-State: AHYfb5jhSAmE7STBrcMy8N+ZcQBpIksOP//EjNSTgaAMA1kMoOzgYrTt r30yudoigvoAbLNbIgk= X-Received: by 10.28.165.11 with SMTP id o11mr1119974wme.49.1501763656323; Thu, 03 Aug 2017 05:34:16 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id g17sm1915986wrc.28.2017.08.03.05.34.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Aug 2017 05:34:15 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Thu, 3 Aug 2017 14:34:00 +0200 Message-Id: <6ed752048278cd6fcb1757ca305f5c6e0c86d2d4.1501763600.git.gaetan.rivet@6wind.com> X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH] net/failsafe: fix resource leak on parse error X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" If fgets fails, the handle fp is not properly closed. Coverity issue: 158633 Fixes: a0194d828100 ("net/failsafe: add flexible device definition") Signed-off-by: Gaetan Rivet --- drivers/net/failsafe/failsafe_args.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/net/failsafe/failsafe_args.c b/drivers/net/failsafe/failsafe_args.c index 932e371..3f6430b 100644 --- a/drivers/net/failsafe/failsafe_args.c +++ b/drivers/net/failsafe/failsafe_args.c @@ -145,22 +145,20 @@ fs_execute_cmd(struct sub_device *sdev, char *cmdline) /* We only read one line */ if (fgets(output, sizeof(output) - 1, fp) == NULL) { DEBUG("Could not read command output"); - return -ENODEV; + ret = -ENODEV; + goto ret_pclose; } fs_sanitize_cmdline(output); ret = fs_parse_device(sdev, output); - if (ret) { + if (ret) ERROR("Parsing device '%s' failed", output); - goto ret_pclose; - } ret_pclose: - ret = pclose(fp); - if (ret) { - ret = errno; + if (pclose(fp)) { + if (ret == 0) + ret = errno; ERROR("pclose: %s", strerror(errno)); - errno = old_err; - return ret; } + errno = old_err; return ret; }