From 086c1d1cc6191d8ac8cc70015207f046a4ba75a9 Mon Sep 17 00:00:00 2001 From: Chunyan Liu Date: Thu, 7 Apr 2016 17:40:27 +0800 Subject: [PATCH] libxl: libxl_pvusb.c: Remove redundant lstat There is no harm in calling realpath, and we can handle ENOENT then. CID: 1358112 Signed-off-by: Chunyan Liu CC: Simon Cao CC: George Dunlap Acked-by: Ian Jackson --- tools/libxl/libxl_pvusb.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/tools/libxl/libxl_pvusb.c b/tools/libxl/libxl_pvusb.c index d983a5c333..f0de36c572 100644 --- a/tools/libxl/libxl_pvusb.c +++ b/tools/libxl/libxl_pvusb.c @@ -1043,25 +1043,14 @@ static char *usbdev_busid_from_ctrlport(libxl__gc *gc, uint32_t domid, static int usbintf_get_drvpath(libxl__gc *gc, const char *intf, char **drvpath) { char *spath, *dp = NULL; - struct stat st; - int r; spath = GCSPRINTF(SYSFS_USB_DEV "/%s/driver", intf); - r = lstat(spath, &st); - if (r == 0) { - /* Find the canonical path to the driver. */ - dp = libxl__zalloc(gc, PATH_MAX); - dp = realpath(spath, dp); - if (!dp) { - LOGE(ERROR, "get realpath failed: '%s'", spath); - return ERROR_FAIL; - } - } else if (errno == ENOENT) { - /* driver path doesn't exist */ - dp = NULL; - } else { - LOGE(ERROR, "lstat failed: '%s'", spath); + /* Find the canonical path to the driver. */ + dp = libxl__zalloc(gc, PATH_MAX); + dp = realpath(spath, dp); + if (!dp && errno != ENOENT) { + LOGE(ERROR, "get realpath failed: '%s'", spath); return ERROR_FAIL; } -- 2.30.2