From: Lennart Poettering Date: Wed, 20 Jun 2018 21:32:21 +0000 (+0200) Subject: sd-boot: simplify memory management in processing of unified kernel image a bit X-Git-Tag: v240~522^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2214cfbf50887553bac07e9772bfc87252b74b82;p=thirdparty%2Fsystemd.git sd-boot: simplify memory management in processing of unified kernel image a bit --- diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c index cb041363cdc..582d34f9838 100644 --- a/src/boot/efi/boot.c +++ b/src/boot/efi/boot.c @@ -1644,15 +1644,16 @@ static VOID config_entry_add_linux( } if (os_name && os_id && (os_version || os_build)) { - CHAR16 *conf; - CHAR16 *path; + _cleanup_freepool_ CHAR16 *conf = NULL, *path = NULL; conf = PoolPrint(L"%s-%s", os_id, os_version ? : os_build); path = PoolPrint(L"\\EFI\\Linux\\%s", f->FileName); + entry = config_entry_add_loader(config, loaded_image->DeviceHandle, LOADER_LINUX, conf, 'l', os_name, path); FreePool(content); content = NULL; + /* read the embedded cmdline file */ err = file_read(linux_dir, f->FileName, offs[1], szs[1], &content, NULL); if (!EFI_ERROR(err)) { @@ -1663,9 +1664,6 @@ static VOID config_entry_add_linux( entry->options = stra_to_str(content); } - - FreePool(conf); - FreePool(path); } FreePool(os_name);