From 83ac22abbb3d08b03f5ae21e04cf3495065ca766 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Sat, 27 Oct 2012 16:18:50 +0200 Subject: [PATCH] Fix memleaks in iscsi-ls, iscsi-inq & iscsi-readcapacity16 --- src/iscsi-inq.c | 5 ++++- src/iscsi-ls.c | 11 +++++++---- src/iscsi-readcapacity16.c | 5 ++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/iscsi-inq.c b/src/iscsi-inq.c index 87b6d35..031e4e3 100644 --- a/src/iscsi-inq.c +++ b/src/iscsi-inq.c @@ -216,7 +216,7 @@ int main(int argc, const char *argv[]) struct iscsi_context *iscsi; const char **extra_argv; int extra_argc = 0; - const char *url = NULL; + char *url = NULL; struct iscsi_url *iscsi_url = NULL; int evpd = 0, pagecode = 0; int show_help = 0, show_usage = 0, debug = 0; @@ -275,6 +275,9 @@ int main(int argc, const char *argv[]) exit(10); } iscsi_url = iscsi_parse_full_url(iscsi, url); + + if (url) free(url); + if (iscsi_url == NULL) { fprintf(stderr, "Failed to parse URL: %s\n", iscsi_get_error(iscsi)); diff --git a/src/iscsi-ls.c b/src/iscsi-ls.c index 6951a57..b8c4b7c 100644 --- a/src/iscsi-ls.c +++ b/src/iscsi-ls.c @@ -312,7 +312,7 @@ int main(int argc, const char *argv[]) struct client_state state; const char **extra_argv; int extra_argc = 0; - const char *url = NULL; + char *url = NULL; poptContext pc; int res; int show_help = 0, show_usage = 0, debug = 0; @@ -367,11 +367,14 @@ int main(int argc, const char *argv[]) exit(10); } - if (debug > 0) { - iscsi_set_debug(iscsi, debug); - } + if (debug > 0) { + iscsi_set_debug(iscsi, debug); + } iscsi_url = iscsi_parse_portal_url(iscsi, url); + + if (url) free(url); + if (iscsi_url == NULL) { fprintf(stderr, "Failed to parse URL: %s\n", iscsi_get_error(iscsi)); diff --git a/src/iscsi-readcapacity16.c b/src/iscsi-readcapacity16.c index 5f76de0..bbbc38f 100644 --- a/src/iscsi-readcapacity16.c +++ b/src/iscsi-readcapacity16.c @@ -58,7 +58,7 @@ int main(int argc, const char *argv[]) struct iscsi_context *iscsi; const char **extra_argv; int extra_argc = 0; - const char *url = NULL; + char *url = NULL; struct iscsi_url *iscsi_url = NULL; int show_help = 0, show_usage = 0, debug = 0, size_only=0; int res; @@ -117,6 +117,9 @@ int main(int argc, const char *argv[]) exit(10); } iscsi_url = iscsi_parse_full_url(iscsi, url); + + if (url) free(url); + if (iscsi_url == NULL) { fprintf(stderr, "Failed to parse URL: %s\n", iscsi_get_error(iscsi));