diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-01-17 18:28:44 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-01-18 16:28:10 +0000 |
commit | dd0707be5f9153a78ea0a07ec72f4e1f341a38c9 (patch) | |
tree | ee6806b89a42383a4da35310830bb71fc344b826 /edit/virt-edit.c | |
parent | fd1a6d8003b29eaec5230f838f673df7cd0e9c86 (diff) | |
download | libguestfs-dd0707be5f9153a78ea0a07ec72f4e1f341a38c9.tar.gz libguestfs-dd0707be5f9153a78ea0a07ec72f4e1f341a38c9.tar.xz libguestfs-dd0707be5f9153a78ea0a07ec72f4e1f341a38c9.zip |
fish options parsing: Allow add_drives to be called multiple times.
Ensure that the drv structure is always zeroed on allocation.
Don't leak old drv->device when add_drives is called multiple times.
Diffstat (limited to 'edit/virt-edit.c')
-rw-r--r-- | edit/virt-edit.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/edit/virt-edit.c b/edit/virt-edit.c index 66866b7a..28cee566 100644 --- a/edit/virt-edit.c +++ b/edit/virt-edit.c @@ -227,18 +227,17 @@ main (int argc, char *argv[]) while (optind < argc - 1) { if (strchr (argv[optind], '/') || access (argv[optind], F_OK) == 0) { /* simulate -a option */ - drv = malloc (sizeof (struct drv)); + drv = calloc (1, sizeof (struct drv)); if (!drv) { perror ("malloc"); exit (EXIT_FAILURE); } drv->type = drv_a; drv->a.filename = argv[optind]; - drv->a.format = NULL; drv->next = drvs; drvs = drv; } else { /* simulate -d option */ - drv = malloc (sizeof (struct drv)); + drv = calloc (1, sizeof (struct drv)); if (!drv) { perror ("malloc"); exit (EXIT_FAILURE); |