From patchwork Sat Apr 15 11:05:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 751024 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3w4sCD3Bwfz9s7f for ; Sat, 15 Apr 2017 21:05:58 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 59F2BC21C2C; Sat, 15 Apr 2017 11:05:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 4D3C5C21C3C; Sat, 15 Apr 2017 11:05:52 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1C83AC21C3C; Sat, 15 Apr 2017 11:05:51 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by lists.denx.de (Postfix) with ESMTPS id 94A60C21C2C for ; Sat, 15 Apr 2017 11:05:50 +0000 (UTC) Received: from LT002.fritz.box ([95.222.184.236]) by mail.gmx.com (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id 0M0bo2-1cCB552vSo-00usj6; Sat, 15 Apr 2017 13:05:45 +0200 From: Heinrich Schuchardt To: u-boot@lists.denx.de Date: Sat, 15 Apr 2017 13:05:40 +0200 Message-Id: <20170415110540.17036-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170415105643.16884-1-xypron.glpk@gmx.de> References: <20170415105643.16884-1-xypron.glpk@gmx.de> X-Provags-ID: V03:K0:K+o8hxe7s27/IPml3RaRT6xUereWWPflh2kijLwIdX+TCOAogtN RYYVcUPblfGIaqUF9qpweq12rZNvRUYc5LEVJ7mesg4vVJmu44SZaIeWFi0Y/X3otOWU3qG 9TgEe2M6JkPxXo8CyMwtH43tdi6AiJFaUlWu7oIJXt0xwzqXOY+SltqTDtoWe5Zpfq6mnGf YgaJu7TIDnQXqFt0AK9SA== X-UI-Out-Filterresults: notjunk:1; V01:K0:sYPF6JOyfxQ=:V3q0fukuM+GvhLTpUwgThr b+zsiFuo+AUb7AqkAQc7I0Az7XEOFtQwbjTsSxzFqTcklHrdyxPLDVIqFWvBLfBujFNVL3xfZ UEg6Hf+v9OTVWmBwMaKV0gCLI5Ia9VByvP8Ira2xIuT3nHSCc+jtr53JfAkj7GEaW80tHk7Ia 7J1O1HlUyoREBquXapsLsb+uUgpsguiAkd7f9oPzabbl3cFjgMl34An4ML4cAhY3Gko7uCEaj /iWzjboGFN7HHy+BBg8qop4+2FEkXV8d0TkPLj2A6oP86fJyPh0SJisCw64F2z4lH3IYtVbxB aZ6VzE1F+mWV9OzYEHoqENqCRFEWG80eE1vWugO638uORw9NUL0lgOE6FsAmWzuvawdtjf0q/ DazpUGSvN9lClTSeU9R7XeHDewPulEAZi4h7MY2NJut5/itCg4LWsRd0rmw1r0sGsqoDYQe/y W+k+qwbta4XshMoHWYYdaDSXlhHwkBAZH7Gua+gUf9Xlj2ApFCBndQ7OaVONP/PTcQrz61LBV djiJT1DR3uy6Pgrqms/WrtpIjvgn7AexqCbMRnckfeo49IgNCke27Ujr1QbGwRVXH0km1eEat lO4OFfs5Ja5jrOUKIU44BOwA5xd03g3mT67NA+w8P614PxqT1QdZv+s6fpHvpl5CWFKWSWIdm e8ov4hoEoxB9bGDEs6nT1gqHxAqeZD7wVQ5uevZg+fK9ipmVbcRS3pIJBgrNwW9C+RdgeTUi2 OCcgfJDf7+TWXKpC+F3ryekXPsK6y9MTrfyOdgn9A38cCrbGvN5/Exf4Fw8= Cc: Heinrich Schuchardt , Stefan Agner , Max Krummenacher Subject: [U-Boot] [PATCH v2 1/1] tools/env: avoid memory leak in fw_setenv X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" If realloc fails we should release the old buffer. Signed-off-by: Heinrich Schuchardt Reviewed-by: Tom Rini Reviewed-by: Simon Glass --- v2: Initial mail was garbled. --- tools/env/fw_env.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 862a0b1a02..31c18d73bc 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -469,6 +469,7 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts) int i; size_t len; char *name, **valv; + char *oldval; char *value = NULL; int valc; @@ -500,11 +501,13 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts) if (value) value[len - 1] = ' '; + oldval = value; value = realloc(value, len + val_len + 1); if (!value) { fprintf(stderr, "Cannot malloc %zu bytes: %s\n", len, strerror(errno)); + free(oldval); return -1; }