|
Zbigniew Jędrzejewski-Szmek |
436654 |
From 0628a6f0ffc097c0061d7d03e39c912eba91d1e3 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
Date: Fri, 22 May 2015 23:40:19 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
Subject: [PATCH] bootctl: ferror must be called before FILE is closed
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
Otherwise it will not show any error stored
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
(cherry picked from commit 717442507b4b11aa1d76810d7b12b15948c7a250)
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
src/boot/bootctl.c | 16 +++++++---------
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
1 file changed, 7 insertions(+), 9 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
index 3a007578dc..ba534b172e 100644
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
--- a/src/boot/bootctl.c
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+++ b/src/boot/bootctl.c
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
@@ -884,7 +884,7 @@ static int install_loader_config(const char *esp_path) {
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
char *p;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
char line[64];
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
char *machine = NULL;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- FILE *f;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ _cleanup_fclose_ FILE *f = NULL, *g = NULL;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
f = fopen("/etc/machine-id", "re");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
if (!f)
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
@@ -899,18 +899,16 @@ static int install_loader_config(const char *esp_path) {
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
if (strlen(line) == 32)
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
machine = line;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- fclose(f);
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
if (!machine)
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
return -ESRCH;
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
p = strjoina(esp_path, "/loader/loader.conf");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- f = fopen(p, "wxe");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- if (f) {
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- fprintf(f, "#timeout 3\n");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- fprintf(f, "default %s-*\n", machine);
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- fclose(f);
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- if (ferror(f))
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ g = fopen(p, "wxe");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ if (g) {
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ fprintf(g, "#timeout 3\n");
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ fprintf(g, "default %s-*\n", machine);
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ if (ferror(g))
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
return log_error_errno(EIO, "Failed to write \"%s\": %m", p);
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
@@ -926,7 +924,7 @@ static int help(void) {
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
" --path=PATH Path to the EFI System Partition (ESP)\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
" --no-variables Don't touch EFI variables\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
"\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
- "Comands:\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
+ "Commands:\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
" status Show status of installed systemd-boot and EFI variables\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
" install Install systemd-boot to the ESP and EFI variables\n"
|
|
Zbigniew Jędrzejewski-Szmek |
436654 |
" update Update systemd-boot in the ESP and EFI variables\n"
|