Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp430017pxb; Wed, 3 Mar 2021 06:54:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJz+TOAWbjHZiT8BaW72nHwkQX02vpH+jL2vRPQmtgEXfGee+Nu/6wVWbb7DrBFLhfuGNgtc X-Received: by 2002:a17:906:23e9:: with SMTP id j9mr16963070ejg.78.1614783169389; Wed, 03 Mar 2021 06:52:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614783169; cv=none; d=google.com; s=arc-20160816; b=C+0SJ7g23xzo+FQqNPW3hVQwq+MpNwIdLIEeBXU+pTKiW9tc9tki5VoRAXkdIXBH2A ytqVkqmQ2cCDj7vsS4LnXaLPozKiaNEU9G1g/A2updnFt2dNmEn1j5XVTjVOwmzt46Iy zYmwHtJ7cy/JlecJUFghF6JV9pawTnABa3quWGBlsJRtrPtuMTn5MFBX+ICrWumS0sfx oSAig8uos4Qjoc1WppupOZuQH9qcg48Dazo56gpBEpqmrT2ciuEd432wXs3giY2tQ1B6 GXh/MbP2ddlyDrdYo0z/KmuYN8cjIxzvXEE91Uzxi4Y1yo0W/jdLP9og7BCpWZ2ZmZpU twlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=osmdIZ6xeui6EJkpbCtaKDemzxlSTwYM1fEdMi/Z1L4=; b=mUAT+MIEBzEKoI/A5C0LN/sIkzuXF2FevFUtxNDD52N2wzb/hLlZtdz9jJODLhYxqz vPjzbxFbDhWPdI7nyjY3kfjiRaMQHN6f71EOhBRN2rC9C0DwwvNvVl9rhvyS9sZWjPfZ Z2Er9dZ490PaDDrabgVZHj8daEM+YbMKAYDbtadJ+D76yiuQAe7o2Ru/+400lMhG/Wb+ tDWBt40LBvhWp8hYciAtRIbhiNCK1KiNSeWb7zTz181VI8qwKurDt+N4Sx+/T2S9YjAZ 1VPEBSZ/ghLeAgWHKLVP8qIGeH6CCEe5aDWsbm0fVJ8HPK9n9SvFnOMzOfP1eXPwl8jw 0nyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=OZIycyi2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bg8si15276200ejb.188.2021.03.03.06.51.23; Wed, 03 Mar 2021 06:52:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=OZIycyi2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237815AbhCAWN1 (ORCPT + 99 others); Mon, 1 Mar 2021 17:13:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:52092 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237800AbhCAR3g (ORCPT ); Mon, 1 Mar 2021 12:29:36 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2D24E65093; Mon, 1 Mar 2021 16:52:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614617536; bh=GowxoeeIByD1M0xcJ5/1xiC31yHkKPzkZjCUnkCyJps=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OZIycyi2R6hOMVWBmDSy0zUuWinb5r7R+W+JOuEdHIBNk1/65Bp87/jml4bAo9Czl Co9c9lBCUUgMjNJLwIkY8xarkXOJjRoOSnr4A/rpaUb5x152VoIAtqEKIbgsdcF3Rf ytNUECRd6mcGX/WYS1JqOA9Q7Da0Gm1BQIhQ4nMM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Manivannan Sadhasivam , Linus Walleij , Miquel Raynal , Sasha Levin Subject: [PATCH 5.4 109/340] mtd: parsers: afs: Fix freeing the part name memory in failure Date: Mon, 1 Mar 2021 17:10:53 +0100 Message-Id: <20210301161053.699206422@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161048.294656001@linuxfoundation.org> References: <20210301161048.294656001@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Manivannan Sadhasivam [ Upstream commit 7b844cf445f0a7daa68be0ce71eb2c88d68b0c5d ] In the case of failure while parsing the partitions, the iterator should be pre decremented by one before starting to free the memory allocated by kstrdup(). Because in the failure case, kstrdup() will not succeed and thus no memory will be allocated for the current iteration. Fixes: 1fca1f6abb38 ("mtd: afs: simplify partition parsing") Signed-off-by: Manivannan Sadhasivam Reviewed-by: Linus Walleij Cc: Linus Walleij Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20210104041137.113075-5-manivannan.sadhasivam@linaro.org Signed-off-by: Sasha Levin --- drivers/mtd/parsers/afs.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/mtd/parsers/afs.c b/drivers/mtd/parsers/afs.c index 752b6cf005f71..8fd61767af831 100644 --- a/drivers/mtd/parsers/afs.c +++ b/drivers/mtd/parsers/afs.c @@ -370,10 +370,8 @@ static int parse_afs_partitions(struct mtd_info *mtd, return i; out_free_parts: - while (i >= 0) { + while (--i >= 0) kfree(parts[i].name); - i--; - } kfree(parts); *pparts = NULL; return ret; -- 2.27.0