From patchwork Sun Dec 12 14:52:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiaoke Wang X-Patchwork-Id: 79327 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mwQTp-0009L1-Hg; Sun, 12 Dec 2021 15:09:38 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230338AbhLLPJf (ORCPT + 1 other); Sun, 12 Dec 2021 10:09:35 -0500 Received: from out162-62-57-49.mail.qq.com ([162.62.57.49]:50157 "EHLO out162-62-57-49.mail.qq.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229622AbhLLPJe (ORCPT ); Sun, 12 Dec 2021 10:09:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1639321771; bh=iYZdxcxe9VY+yNUM+YHAJte4KYDTh4ZgWycVEiQ2c6Y=; h=From:To:Cc:Subject:Date; b=fV5Ms65XFKG3wQ6C5T2t9PdbWPQfFerGqxTFezeZsd5fpN1rzp5RSOGdc8+xJvloY XtcQGhyBbjom7MtymlZ9CsRC88WjJ/BgUEFyKa1EiHoEIGrKXT+20kfyeaYu48g/wa HJ3kezLcx5xSe4XZh5+endFTWFTX9L+ADYzhYCP4= Received: from localhost.localdomain ([218.197.153.188]) by newxmesmtplogicsvrsza9.qq.com (NewEsmtp) with SMTP id D719A2F8; Sun, 12 Dec 2021 22:53:49 +0800 X-QQ-mid: xmsmtpt1639320829tbpueg3ia Message-ID: X-QQ-XMAILINFO: NojR6Ao/DkED+5UYiYGfEf03/afmb+7dfQ6nVybJfhhfOJI6vJB51p0g80gJZp D1b/+V6Id3tZ18RQUY1B8LEMoB2NOsZeuIHD5v7eiwALzLngSRzE080SJX+LO6SWyJNoeba0goTh 3xCaItZdN1ejAvOxYScD3XOF3XyRw8rhRnVoYpUr3HMj/9tdAZcGwuPU76QP+eP60kkIFh87+c+a 9ghfIqhNZ1v3Y2+fx9rAklTFK3W8gSkS6Z1XhsX0Gi6MWdbiSavixEVDe6LqEf44lJJQdXzujyBH ZEj4meQ8aYuUzSssMvYqdcXLrEiZPnMRlamYwmFKqt6ggoZIgOUVa6pF5sWtj/jjQQK2NobfxLPd PG6Lb45WvP1I39UaZe8iJu9RB2R3ZJGtuGg/rGS8MlLQfS87OOGIs/71yB6wsclk5OuK4BNkugrH bl3XGbDGZPxoNyvOe5vGeRi9yvZQ7G3xf0Gval97ePDHoGPvA+EcWr0NxKtHLRlwDufFCH7SzzAZ TfqqaF8g3IRS8wZ+M8aoNEIUDOwPwjpq/NvckttHpamXNvMGkHcNQBQewKKWiQguV1OvPvGa8yPU LSt9XYHBfvkG1Z1dJb93RT0tcD+hX32xGsmmqg1ygCsPfUtmo/63+yXPcZ/lR0b9LzFS3wDUwA/d kqo5gqN1KQK9cfjVIGWpIUnvUd/1mIro/13rA4jDabVEtfoYVkEUAe8Kqo8ZrZ3x9Qy0nYYP/Bwm 9S2c0m67vxHE2XlaWwJyUn0BVuqA45z/JKNzh8AX3IGi4n5v3miQ/pIvJLuvQzHc2KF6kEX65u2L jixKDonjmzxPZfPf0tDEWo8e8fqrdnmFPP//zBxRh2hJegOWcWYatz0VbENFiguyfl57w2ixdQ7k 7AS38UpDNboNQg2tUEJr8= From: xkernel To: crope@iki.fi, mchehab@kernel.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, xkernel Subject: [PATCH] media: usb: dvb-usb-v2: check the return value of kstrdup() Date: Sun, 12 Dec 2021 22:52:24 +0800 X-OQ-MSGID: <20211212145224.2056-1-xkernel.wang@foxmail.com> X-Mailer: git-send-email 2.33.0.windows.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -2.5 (--) X-LSpam-Report: No, score=-2.5 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1 autolearn=ham autolearn_force=no kstrdup() returns NULL if some internal memory errors happen, it is better to check the return value of it. Since the return type of dvb_usbv2_disconnect() is void, so only raise the error info. Signed-off-by: xkernel --- drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) -- diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c index f1c79f3..a43a310 100644 --- a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c @@ -1009,6 +1009,9 @@ void dvb_usbv2_disconnect(struct usb_interface *intf) const char *devname = kstrdup(dev_name(&d->udev->dev), GFP_KERNEL); const char *drvname = d->name; + if (!devname) + dev_err(&d->udev->dev, "%s: kstrdup() failed\n", KBUILD_MODNAME); + dev_dbg(&d->udev->dev, "%s: bInterfaceNumber=%d\n", __func__, intf->cur_altsetting->desc.bInterfaceNumber); @@ -1023,9 +1026,14 @@ void dvb_usbv2_disconnect(struct usb_interface *intf) kfree(d->priv); kfree(d); - pr_info("%s: '%s:%s' successfully deinitialized and disconnected\n", - KBUILD_MODNAME, drvname, devname); - kfree(devname); + if (devname) { + pr_info("%s: '%s:%s' successfully deinitialized and disconnected\n", + KBUILD_MODNAME, drvname, devname); + kfree(devname); + } else { + pr_info("%s: '%s:UNKNOWN' successfully deinitialized and disconnected\n", + KBUILD_MODNAME, drvname); + } } EXPORT_SYMBOL(dvb_usbv2_disconnect);