diff options
author | Brian C. Lane <bcl@redhat.com> | 2018-07-23 15:18:37 -0700 |
---|---|---|
committer | Brian C. Lane <bcl@redhat.com> | 2018-08-22 11:37:56 -0700 |
commit | c624fe22349912ca8bd1a288d5ccc65b6e346420 (patch) | |
tree | 64e8ff6429bea7e1784a522f90f6a6b945e84d09 /parted | |
parent | b260c3354d5e9318321c2fc482724870fd9b2740 (diff) | |
download | parted-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.c | 10 |
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) |