Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp1170300ybl; Sat, 17 Aug 2019 20:54:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqykJDuEzvT3KenUM9gukaxsA51xNzzEQaqRroARdO8ekZLHP1BfnX+ys+NY3KXiaVQyLonr X-Received: by 2002:a17:902:5a5:: with SMTP id f34mr16198880plf.178.1566100442491; Sat, 17 Aug 2019 20:54:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566100442; cv=none; d=google.com; s=arc-20160816; b=pkReW3uhJbyi5BMMIn2S+LatjepZlXy45UQoxs2cNlhI63XwBfgELaDpCytktY8guQ 85nT/pdCoBoXBc83txp/jhRjxQN/JuuTM99WoXpMvH40DByHFK81UhukM+1WPbt1iC4S vZ8q6u6UpzN4zXqjHOhwYzDm/bCoYkCqaoZzJlSbx04FEySkn3+8d1XTGlKY1HYIJO/v F8zFMThkphd8LisfdqcyW4l8v7BBbEAWBDIWF3b9i/Do+BhtxyFjk882Oq+Yp73K2A5b wV5TLCYNZ0gJyIkMgwmpzLhpmMAP10u41PQj3J6CmkMSVv0bB7U4iZoHaJezxcD6pRQk miiQ== 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=w1MBOJKPWwd/x/PvHJlxbST3O7JCpKcUgtndmXHLa3U=; b=mrKTjl1wrkVtzq5QQkuFd6b0u1CY+6LOwAneAD7Wbc/5hPNKvLciVED/trY5WXM6Kk x+zmbhhmsdaWC68wgcD0vmSJsKDASeeh5OlRnV6qMQA5AMQGRmbSyAskEBeJBxXsqoyF s0CUL7RrmgJHzlU+Upup1DmEHCMNj/PfSU3dlu0pYX/JjV7V1rbCr69gb6JdzQdRB1Ts D8KQBNwpPAym9USaFihr8gwrRAdljXQV9yrrI4PD0nVHtH38tqWsvlFGh9I1mYIGzEKi p5cD+Jh1b5PNOd9BjdLOxXHG9AuPz0uzuZj3S4GUEUcso7UZX937uM5j3ASOd0e+PvNk wPvg== 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 v45si7133679pgn.10.2019.08.17.20.53.11; Sat, 17 Aug 2019 20:54:02 -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 S1726286AbfHRDpt (ORCPT + 99 others); Sat, 17 Aug 2019 23:45:49 -0400 Received: from mail-yb1-f196.google.com ([209.85.219.196]:41134 "EHLO mail-yb1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726045AbfHRDps (ORCPT ); Sat, 17 Aug 2019 23:45:48 -0400 Received: by mail-yb1-f196.google.com with SMTP id n7so3255299ybd.8; Sat, 17 Aug 2019 20:45:48 -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=w1MBOJKPWwd/x/PvHJlxbST3O7JCpKcUgtndmXHLa3U=; b=mmpE+tYcVDzsX1wZpNV/d0uM3yTuDiCuvV9Ymc6F6Hqz9VBC8PE/bKwbziHTddJ8/I PoSK5nwkMHOsLuKACiKSBMacJdSjnBrrcNfT4jlaMv7yTr9W9pO++m3pgdUU/rWIEyxH /xkg385wYz7rVibfyS9xWoCQhT64Ip1nVSVNZ3Eo6wYzcJjL8La2k6kkRZgsQZRv3hrX keEWItJWK66BEouYSsz3CZ+8T4PqFW3+kL5xFarqkhjF9C+By6JjiC+B5uOTVdtLJHLj vuCcp2OL9VNPvH/U3Ti56CktyRh1fUVTrgZ8L/cQcSc1ypnJoLLRMcAGHk8A7qrh8kwg YODw== X-Gm-Message-State: APjAAAUH01BK1ApCVK0q1uUg25aU4Bw8t19H6lRH3g58I2udxk8VH5tF G/WLltk9IIpWQ9MtV2JwH0M= X-Received: by 2002:a25:7083:: with SMTP id l125mr12641443ybc.449.1566099948013; Sat, 17 Aug 2019 20:45:48 -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 k11sm3132216ywk.42.2019.08.17.20.45.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 17 Aug 2019 20:45:46 -0700 (PDT) From: Wenwen Wang To: Wenwen Wang Cc: Mauro Carvalho Chehab , Hans Verkuil , Kees Cook , linux-media@vger.kernel.org (open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] media: dvb-core: fix a memory leak bug Date: Sat, 17 Aug 2019 22:45:40 -0500 Message-Id: <1566099942-2290-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 dvb_create_media_entity(), 'dvbdev->entity' is allocated through kzalloc(). Then, 'dvbdev->pads' is allocated through kcalloc(). However, if kcalloc() fails, the allocated 'dvbdev->entity' is not deallocated, leading to a memory leak bug. To fix this issue, free 'dvbdev->entity' before returning -ENOMEM. Signed-off-by: Wenwen Wang --- drivers/media/dvb-core/dvbdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c index a3393cd..7557fbf 100644 --- a/drivers/media/dvb-core/dvbdev.c +++ b/drivers/media/dvb-core/dvbdev.c @@ -339,8 +339,10 @@ static int dvb_create_media_entity(struct dvb_device *dvbdev, if (npads) { dvbdev->pads = kcalloc(npads, sizeof(*dvbdev->pads), GFP_KERNEL); - if (!dvbdev->pads) + if (!dvbdev->pads) { + kfree(dvbdev->entity); return -ENOMEM; + } } switch (type) { -- 2.7.4