From 86adf5847c2499fa12560b93986ac68f8d08c456 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Sat, 7 Mar 2015 09:43:05 +0100 Subject: [PATCH] Fix wrong checks for username The variable user in struct iscsi_url is a character array, not a pointer. Therefore its address will never be NULL. When libscsi is built using clang instead of gcc, those errors are reported: iscsi-perf.c:256:17: error: comparison of array 'iscsi_url->user' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare] iscsi-dd.c:272:17: error: comparison of array 'iscsi_url->user' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare] iscsi-dd.c:331:17: error: comparison of array 'iscsi_url->user' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare] ld_iscsi.c:99:18: error: comparison of array 'iscsi_url->user' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare] Fix those errors and also similar code patterns in aros/iscsi-ls.c and test-tool/iscsi-support.c. Signed-off-by: Stefan Weil --- aros/iscsi-ls.c | 2 +- examples/iscsi-dd.c | 4 ++-- examples/ld_iscsi.c | 2 +- test-tool/iscsi-support.c | 2 +- utils/iscsi-perf.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aros/iscsi-ls.c b/aros/iscsi-ls.c index 8d22901..3a2778d 100644 --- a/aros/iscsi-ls.c +++ b/aros/iscsi-ls.c @@ -404,7 +404,7 @@ int main(int argc, char *argv[]) iscsi_set_session_type(iscsi, ISCSI_SESSION_DISCOVERY); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { state.username = iscsi_url->user; state.password = iscsi_url->passwd; if (iscsi_set_initiator_username_pwd(iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { diff --git a/examples/iscsi-dd.c b/examples/iscsi-dd.c index 2b2cbd0..37015fa 100644 --- a/examples/iscsi-dd.c +++ b/examples/iscsi-dd.c @@ -269,7 +269,7 @@ int main(int argc, char *argv[]) iscsi_set_targetname(client.src_iscsi, iscsi_url->target); iscsi_set_session_type(client.src_iscsi, ISCSI_SESSION_NORMAL); iscsi_set_header_digest(client.src_iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { if (iscsi_set_initiator_username_pwd(client.src_iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { fprintf(stderr, "Failed to set initiator username and password\n"); exit(10); @@ -328,7 +328,7 @@ int main(int argc, char *argv[]) iscsi_set_targetname(client.dst_iscsi, iscsi_url->target); iscsi_set_session_type(client.dst_iscsi, ISCSI_SESSION_NORMAL); iscsi_set_header_digest(client.dst_iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { if (iscsi_set_initiator_username_pwd(client.dst_iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { fprintf(stderr, "Failed to set initiator username and password\n"); exit(10); diff --git a/examples/ld_iscsi.c b/examples/ld_iscsi.c index a05eb66..8fe0963 100644 --- a/examples/ld_iscsi.c +++ b/examples/ld_iscsi.c @@ -96,7 +96,7 @@ int open(const char *path, int flags, mode_t mode) iscsi_set_session_type(iscsi, ISCSI_SESSION_NORMAL); iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { if (iscsi_set_initiator_username_pwd(iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { LD_ISCSI_DPRINTF(0,"Failed to set initiator username and password"); iscsi_destroy_context(iscsi); diff --git a/test-tool/iscsi-support.c b/test-tool/iscsi-support.c index 028ccfe..fd2e31a 100644 --- a/test-tool/iscsi-support.c +++ b/test-tool/iscsi-support.c @@ -407,7 +407,7 @@ iscsi_context_login(const char *initiatorname, const char *url, int *lun) iscsi_set_session_type(iscsi, ISCSI_SESSION_NORMAL); iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { if (iscsi_set_initiator_username_pwd(iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { fprintf(stderr, "Failed to set initiator username and password\n"); iscsi_destroy_url(iscsi_url); diff --git a/utils/iscsi-perf.c b/utils/iscsi-perf.c index f43e575..5b1de21 100644 --- a/utils/iscsi-perf.c +++ b/utils/iscsi-perf.c @@ -253,7 +253,7 @@ int main(int argc, char *argv[]) iscsi_set_session_type(client.iscsi, ISCSI_SESSION_NORMAL); iscsi_set_header_digest(client.iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - if (iscsi_url->user != NULL) { + if (iscsi_url->user[0] != '\0') { if (iscsi_set_initiator_username_pwd(client.iscsi, iscsi_url->user, iscsi_url->passwd) != 0) { fprintf(stderr, "Failed to set initiator username and password\n"); exit(10);