summaryrefslogtreecommitdiff
path: root/parted
diff options
context:
space:
mode:
authorBrian C. Lane <bcl@redhat.com>2018-07-23 15:18:37 -0700
committerBrian C. Lane <bcl@redhat.com>2018-08-22 11:37:56 -0700
commitc624fe22349912ca8bd1a288d5ccc65b6e346420 (patch)
tree64e8ff6429bea7e1784a522f90f6a6b945e84d09 /parted
parentb260c3354d5e9318321c2fc482724870fd9b2740 (diff)
downloadparted-c624fe22349912ca8bd1a288d5ccc65b6e346420.tar.gz
parted.c: Make sure dev_name is freed
If there was a problem with ped_device_get or ped_device_open it would not be freed. Related: rhbz#1602652
Diffstat (limited to 'parted')
-rw-r--r--parted/parted.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/parted/parted.c b/parted/parted.c
index 0dc38c3..35432c6 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -1101,6 +1101,7 @@ do_print (PedDevice** dev, PedDisk** diskp)
if (has_devices_arg) {
char* dev_name;
PedDevice* current_dev = NULL;
+ int status = 0;
ped_device_probe_all();
@@ -1116,14 +1117,11 @@ do_print (PedDevice** dev, PedDisk** diskp)
ped_device_free_all ();
*dev = ped_device_get (dev_name);
- if (!*dev)
- return 0;
- if (!ped_device_open (*dev))
- return 0;
-
+ if (*dev && ped_device_open (*dev))
+ status = 1;
free (dev_name);
- return 1;
+ return status;
}
else if (has_list_arg)