summaryrefslogtreecommitdiffstats
path: root/src/virt-viewer-main.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2011-07-12 11:27:38 +0100
committerDaniel P. Berrange <berrange@redhat.com>2011-07-12 11:27:38 +0100
commitcf28bcf512c878fe8c26fcbc2801510dad75ad4a (patch)
tree08ee952d111f1766a4b3c14606e8549aeb386847 /src/virt-viewer-main.c
parent1def55556f4b2c37e349117ccfcf1c33130abd10 (diff)
downloadvirt-viewer-cf28bcf512c878fe8c26fcbc2801510dad75ad4a.tar.gz
virt-viewer-cf28bcf512c878fe8c26fcbc2801510dad75ad4a.tar.xz
virt-viewer-cf28bcf512c878fe8c26fcbc2801510dad75ad4a.zip
Fix leak of command line arguments
Diffstat (limited to 'src/virt-viewer-main.c')
-rw-r--r--src/virt-viewer-main.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/virt-viewer-main.c b/src/virt-viewer-main.c
index e3d4b54..749365c 100644
--- a/src/virt-viewer-main.c
+++ b/src/virt-viewer-main.c
@@ -41,7 +41,7 @@ int main(int argc, char **argv)
{
GOptionContext *context;
GError *error = NULL;
- int ret;
+ int ret = 1;
char *uri = NULL;
int zoom = 100;
gchar **args = NULL;
@@ -92,19 +92,19 @@ int main(int argc, char **argv)
error->message,
gettext(help_msg));
g_error_free(error);
- return 1;
+ goto cleanup;
}
g_option_context_free(context);
if (!args || (g_strv_length(args) != 1)) {
fprintf(stderr, _("\nUsage: %s [OPTIONS] DOMAIN-NAME|ID|UUID\n\n%s\n\n"), argv[0], help_msg);
- return 1;
+ goto cleanup;
}
if (zoom < 10 || zoom > 200) {
fprintf(stderr, "Zoom level must be within 10-200\n");
- return 1;
+ goto cleanup;
}
ret = virt_viewer_start(uri, args[0], zoom, direct, waitvm, reconnect, verbose, debug, fullscreen, NULL);
@@ -113,7 +113,11 @@ int main(int argc, char **argv)
gtk_main();
- return 0;
+ cleanup:
+ g_free(uri);
+ g_strfreev(args);
+
+ return ret;
}
/*