From 96e5c4177e5604ce09b74bc9f1350090306d8e40 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Wed, 6 Mar 2019 15:27:55 +0100 Subject: [PATCH] iscsi_direct: Make virStorageBackendISCSIDirectGetLun report error properly This function reports error for one of the two error paths. This is unfortunate as a caller see this function failing but doesn't know right away if an error was reported. Signed-off-by: Michal Privoznik Reviewed-by: Pavel Hrdina --- src/storage/storage_backend_iscsi_direct.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c index 786663534d..fc3b6550f7 100644 --- a/src/storage/storage_backend_iscsi_direct.c +++ b/src/storage/storage_backend_iscsi_direct.c @@ -605,22 +605,16 @@ static int virStorageBackendISCSIDirectGetLun(virStorageVolDefPtr vol, int *lun) { - const char *name = vol->name; - int ret = -1; + const char *name; - if (!STRPREFIX(name, VOL_NAME_PREFIX)) { + if (!(name = STRSKIP(vol->name, VOL_NAME_PREFIX)) || + virStrToLong_i(name, NULL, 10, lun) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, - _("Invalid volume name %s"), name); - goto cleanup; + _("Invalid volume name %s"), vol->name); + return -1; } - name += strlen(VOL_NAME_PREFIX); - if (virStrToLong_i(name, NULL, 10, lun) < 0) - goto cleanup; - - ret = 0; - cleanup: - return ret; + return 0; } static int -- 2.47.2