[systemd-commits] src/boot

Thomas H.P. Andersen phomes at kemper.freedesktop.org
Tue Feb 24 15:01:05 PST 2015


 src/boot/bootctl.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

New commits:
commit 7cb0f263adacbd12f5be4f7f23d7f596485adb37
Author: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
Date:   Tue Feb 24 23:57:47 2015 +0100

    bootctl: fix mem leaks
    
    CID#1271347/1271348

diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index 96637f1..fb568be 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -365,15 +365,15 @@ static int status_binaries(const char *esp_path, sd_id128_t partition) {
 }
 
 static int print_efi_option(uint16_t id, bool in_order) {
-        char *title = NULL;
-        char *path = NULL;
+        _cleanup_free_ char *title = NULL;
+        _cleanup_free_ char *path = NULL;
         sd_id128_t partition;
         bool active;
         int r = 0;
 
         r = efi_get_boot_option(id, &title, &partition, &path, &active);
         if (r < 0)
-                goto finish;
+                return r;
 
         /* print only configured entries with partition information */
         if (!path || sd_id128_equal(partition, SD_ID128_NULL))
@@ -388,10 +388,7 @@ static int print_efi_option(uint16_t id, bool in_order) {
         printf("         File: └─%s\n", path);
         printf("\n");
 
-finish:
-        free(title);
-        free(path);
-        return r;
+        return 0;
 }
 
 static int status_variables(void) {
@@ -896,7 +893,7 @@ finish:
 }
 
 static int remove_from_order(uint16_t slot) {
-        uint16_t *order = NULL;
+        _cleanup_free_ uint16_t *order = NULL;
         int n_order;
         int i;
         int err = 0;
@@ -917,7 +914,6 @@ static int remove_from_order(uint16_t slot) {
                 break;
         }
 
-        free(order);
         return err;
 }
 



More information about the systemd-commits mailing list