Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp6370949ybh; Wed, 7 Aug 2019 22:52:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqwgt6TH3QKR6OKvJp9ZWLpv4hD44u5WtOePGM40hf+5CWK1sYvb6ibQ13SbW4OqT3+hwduj X-Received: by 2002:a62:e301:: with SMTP id g1mr12945710pfh.119.1565243564324; Wed, 07 Aug 2019 22:52:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565243564; cv=none; d=google.com; s=arc-20160816; b=QQ69haHbVhSO+2aG7DH51t+8ZZYM7l7AFWhJ0yxRUHSR9EY8cozgbfWBbxdG5sOIR+ f6P3AQoAAdRXIi6LfGpX4bC2IEt59wLSEKTw97GAwd3RAvO1NxNmiHPgAAZsFx24xJN6 kD32fx/oDxsmxpvAv886afEEyRYaYW8FXnpEuqruh7iMXh7GkvetsCaCEx2/TcX9pbI2 grL+xV42ieVEmyWshTutupkWunm9gYYv0KmWV4bFE57nIjAiT0THXSg7//2M2W4bq7iS G2c7NIzpEPvkG0fG3wcBENORK5jA+Rh3oy3JCcf83oHwkipJFOROfSVtHdgdVztUWkn5 BYTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=AXLTKpmnboGNtrfg+DmdekyXKJkeWsR7+WNv3PWE/bM=; b=mYt52XmsAheAE4GjZmLT4E0a+iGSBiOIVcou7aWI7OUjob4W6DZKCA6HYXlnbRHYrr ec1YZQTSb6T8zIWrwbNCWbtXeFLxSxatJb1188HsrBXoOuM2vCuFBRqb4Celo2kY0gBK rRzjGeKfj1fn73hne6/ZWpCmvZHutQqbq8SDsFO6EkXjPD2R7kZ8ky6NcbLxOSGxDS07 RT0Ed7ZTixxPwZyjEB0xBU9jU3DKVCLmbb77fDyyx1SG6RrvH3gYNLTARo79ECJut6v3 YVmDPKEPINATBXDCINsFSTXQ44rSy17N4MNe9bHMDDdXRNN4VWfUF5SH2/JRIfOll0a0 ZaQw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b41si1718837pla.155.2019.08.07.22.52.29; Wed, 07 Aug 2019 22:52:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730990AbfHHFvJ (ORCPT + 99 others); Thu, 8 Aug 2019 01:51:09 -0400 Received: from mail-yw1-f65.google.com ([209.85.161.65]:44456 "EHLO mail-yw1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730969AbfHHFvI (ORCPT ); Thu, 8 Aug 2019 01:51:08 -0400 Received: by mail-yw1-f65.google.com with SMTP id l79so33452548ywe.11 for ; Wed, 07 Aug 2019 22:51:08 -0700 (PDT) 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=AXLTKpmnboGNtrfg+DmdekyXKJkeWsR7+WNv3PWE/bM=; b=uMM74YFs2pn431woWqsHjrz+umgCye3PnD14rvVvBGZO8f2HxtMhMsIx47nkD+Qq0d At4JKSXS8gHDKGzP7ZLwlIphW0J80DCd8xOuo+1VlnuooGbqEcwiHpb0G+6ZeFJKQe9R hObsAok+JEy9iy770XED/+1KllOIpA8oAnWhtuz//nkf5XMEXW6hHal3yK5Tgv3AI/lz AQXsf3wDwEpKP/lj8awMOr3h3GI7ZCLYa8UUXkQmXLtCqS7eoFd2SWOXkSYRucuTK97V pHQS0BFFZ2ag20awPd/TsWlzVyO0Cd+1H8NSLZiNZD/9PbwRnoEAfRLpmd/vqpftqFvh byNA== X-Gm-Message-State: APjAAAXg9HXaJSjT+xshAg+lGA4bmGqv/hluMOUATe/gI+KO2x3B3NiQ P5C6D0csFGWo0tfFT0fbc+lHvXI7Z6U= X-Received: by 2002:a81:6288:: with SMTP id w130mr8042384ywb.343.1565243467745; Wed, 07 Aug 2019 22:51:07 -0700 (PDT) Received: from localhost.localdomain (24-158-240-219.dhcp.smyr.ga.charter.com. [24.158.240.219]) by smtp.gmail.com with ESMTPSA id q35sm1080020ywa.69.2019.08.07.22.51.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Aug 2019 22:51:06 -0700 (PDT) From: Wenwen Wang To: Wenwen Wang Cc: Clemens Ladisch , Jaroslav Kysela , Takashi Iwai , alsa-devel@alsa-project.org (moderated list:FIREWIRE AUDIO DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] ALSA: firewire: fix a memory leak bug Date: Thu, 8 Aug 2019 00:50:58 -0500 Message-Id: <1565243458-2771-1-git-send-email-wenwen@cs.uga.edu> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In iso_packets_buffer_init(), 'b->packets' is allocated through kmalloc_array(). Then, the aligned packet size is checked. If it is larger than PAGE_SIZE, -EINVAL will be returned to indicate the error. However, the allocated 'b->packets' is not deallocated on this path, leading to a memory leak. To fix the above issue, free 'b->packets' before returning the error code. Signed-off-by: Wenwen Wang --- sound/firewire/packets-buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/firewire/packets-buffer.c b/sound/firewire/packets-buffer.c index 0d35359..0ecafd0 100644 --- a/sound/firewire/packets-buffer.c +++ b/sound/firewire/packets-buffer.c @@ -37,7 +37,7 @@ int iso_packets_buffer_init(struct iso_packets_buffer *b, struct fw_unit *unit, packets_per_page = PAGE_SIZE / packet_size; if (WARN_ON(!packets_per_page)) { err = -EINVAL; - goto error; + goto err_packets; } pages = DIV_ROUND_UP(count, packets_per_page); -- 2.7.4