From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751240AbdL3QBp (ORCPT ); Sat, 30 Dec 2017 11:01:45 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:42228 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751002AbdL3QBo (ORCPT ); Sat, 30 Dec 2017 11:01:44 -0500 X-Google-Smtp-Source: ACJfBouq1eYHRtPgibDlLj5A0D/NAa/BMiwRuXGaog9UlFLVJV5HlTr32csVZzw/Lgs3iuc8MTmh5g== Date: Sat, 30 Dec 2017 18:01:39 +0200 From: Elad Wexler To: valentina.manea.m@gmail.com, shuah@kernel.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] tools: usb: usbip: fix fd leak in case of 'fread' failure Message-ID: <20171230160139.GA9741@ewexler> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix possible resource leak: fd Signed-off-by: Elad Wexler --- tools/usb/usbip/libsrc/usbip_device_driver.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/usb/usbip/libsrc/usbip_device_driver.c b/tools/usb/usbip/libsrc/usbip_device_driver.c index e059b7d..1aa27af 100644 --- a/tools/usb/usbip/libsrc/usbip_device_driver.c +++ b/tools/usb/usbip/libsrc/usbip_device_driver.c @@ -92,7 +92,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev) return -1; ret = fread((char *) &descr, sizeof(descr), 1, fd); if (ret < 0) - return -1; + goto err; fclose(fd); copy_descr_attr(dev, &descr, bDeviceClass); @@ -124,6 +124,9 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev) name = udev_device_get_sysname(plat); strncpy(dev->busid, name, SYSFS_BUS_ID_SIZE); return 0; +err: + fclose(fd); + return -1; } static int is_my_device(struct udev_device *dev) -- 2.7.4