Fix memleaks in iscsi-ls, iscsi-inq & iscsi-readcapacity16

This commit is contained in:
Peter Lieven
2012-10-27 16:18:50 +02:00
parent 74f09ade13
commit 83ac22abbb
3 changed files with 15 additions and 6 deletions
+4 -1
View File
@@ -216,7 +216,7 @@ int main(int argc, const char *argv[])
struct iscsi_context *iscsi; struct iscsi_context *iscsi;
const char **extra_argv; const char **extra_argv;
int extra_argc = 0; int extra_argc = 0;
const char *url = NULL; char *url = NULL;
struct iscsi_url *iscsi_url = NULL; struct iscsi_url *iscsi_url = NULL;
int evpd = 0, pagecode = 0; int evpd = 0, pagecode = 0;
int show_help = 0, show_usage = 0, debug = 0; int show_help = 0, show_usage = 0, debug = 0;
@@ -275,6 +275,9 @@ int main(int argc, const char *argv[])
exit(10); exit(10);
} }
iscsi_url = iscsi_parse_full_url(iscsi, url); iscsi_url = iscsi_parse_full_url(iscsi, url);
if (url) free(url);
if (iscsi_url == NULL) { if (iscsi_url == NULL) {
fprintf(stderr, "Failed to parse URL: %s\n", fprintf(stderr, "Failed to parse URL: %s\n",
iscsi_get_error(iscsi)); iscsi_get_error(iscsi));
+7 -4
View File
@@ -312,7 +312,7 @@ int main(int argc, const char *argv[])
struct client_state state; struct client_state state;
const char **extra_argv; const char **extra_argv;
int extra_argc = 0; int extra_argc = 0;
const char *url = NULL; char *url = NULL;
poptContext pc; poptContext pc;
int res; int res;
int show_help = 0, show_usage = 0, debug = 0; int show_help = 0, show_usage = 0, debug = 0;
@@ -367,11 +367,14 @@ int main(int argc, const char *argv[])
exit(10); exit(10);
} }
if (debug > 0) { if (debug > 0) {
iscsi_set_debug(iscsi, debug); iscsi_set_debug(iscsi, debug);
} }
iscsi_url = iscsi_parse_portal_url(iscsi, url); iscsi_url = iscsi_parse_portal_url(iscsi, url);
if (url) free(url);
if (iscsi_url == NULL) { if (iscsi_url == NULL) {
fprintf(stderr, "Failed to parse URL: %s\n", fprintf(stderr, "Failed to parse URL: %s\n",
iscsi_get_error(iscsi)); iscsi_get_error(iscsi));
+4 -1
View File
@@ -58,7 +58,7 @@ int main(int argc, const char *argv[])
struct iscsi_context *iscsi; struct iscsi_context *iscsi;
const char **extra_argv; const char **extra_argv;
int extra_argc = 0; int extra_argc = 0;
const char *url = NULL; char *url = NULL;
struct iscsi_url *iscsi_url = NULL; struct iscsi_url *iscsi_url = NULL;
int show_help = 0, show_usage = 0, debug = 0, size_only=0; int show_help = 0, show_usage = 0, debug = 0, size_only=0;
int res; int res;
@@ -117,6 +117,9 @@ int main(int argc, const char *argv[])
exit(10); exit(10);
} }
iscsi_url = iscsi_parse_full_url(iscsi, url); iscsi_url = iscsi_parse_full_url(iscsi, url);
if (url) free(url);
if (iscsi_url == NULL) { if (iscsi_url == NULL) {
fprintf(stderr, "Failed to parse URL: %s\n", fprintf(stderr, "Failed to parse URL: %s\n",
iscsi_get_error(iscsi)); iscsi_get_error(iscsi));