]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bootctl: safety check for regular file when reading EFI images
authorLennart Poettering <lennart@poettering.net>
Mon, 28 Jan 2019 16:33:08 +0000 (17:33 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 1 Mar 2019 11:41:32 +0000 (12:41 +0100)
src/boot/bootctl.c

index 1dbe00adb64d886f32da69c1b46d2549e723eac6..2424aa011f7ae0dd664bf1c3a1dbad9a0ff42e10 100644 (file)
@@ -96,6 +96,10 @@ static int get_file_version(int fd, char **v) {
         if (fstat(fd, &st) < 0)
                 return log_error_errno(errno, "Failed to stat EFI binary: %m");
 
+        r = stat_verify_regular(&st);
+        if (r < 0)
+                return log_error_errno(errno, "EFI binary is not a regular file: %m");
+
         if (st.st_size < 27) {
                 *v = NULL;
                 return 0;