]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-journal: refuse invocation of journal_file_open() with O_RDONLY|O_CREAT
authorLennart Poettering <lennart@poettering.net>
Mon, 21 Mar 2022 17:12:53 +0000 (18:12 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 21 Mar 2022 17:23:44 +0000 (18:23 +0100)
src/libsystemd/sd-journal/journal-file.c

index ac8ad145eda04e422dd17900f23d263d0ec3d4c4..e7014196c8dcdb768adf9be88b96b33a31a1e774 100644 (file)
@@ -3336,6 +3336,9 @@ int journal_file_open(
         if (!IN_SET((flags & O_ACCMODE), O_RDONLY, O_RDWR))
                 return -EINVAL;
 
+        if ((flags & O_ACCMODE) == O_RDONLY && FLAGS_SET(flags, O_CREAT))
+                return -EINVAL;
+
         if (fname && (flags & O_CREAT) && !endswith(fname, ".journal"))
                 return -EINVAL;