From c3de7191347b8e0adfa93bd656641dba76275ab5 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Sat, 1 Jul 2023 14:46:32 +0200 Subject: [PATCH] Fix access mode check in open() call --- src/dwarfs_main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dwarfs_main.cpp b/src/dwarfs_main.cpp index 5cd234c1..b712604d 100644 --- a/src/dwarfs_main.cpp +++ b/src/dwarfs_main.cpp @@ -466,7 +466,8 @@ int op_open_common(LogProxy& log_, dwarfs_userdata* userdata, if (entry) { if (entry->is_directory()) { err = EISDIR; - } else if (fi->flags & (O_APPEND | O_CREAT | O_TRUNC)) { + } else if ((fi->flags & O_ACCMODE) != O_RDONLY || + (fi->flags & (O_APPEND | O_TRUNC)) != 0) { err = EACCES; } else { fi->fh = entry->inode_num();