Przeglądaj źródła

LibWasm: Stop passing a nonzero 'mode' to open(..., O_DIRECTORY)

Bionic warns on this, but not passing the mode argument is technically
undefined behaviour (depending on the libc implementation of open), as
our LibC reads `mode` unconditionally (yolo!), just pass a zero to avoid
the UB.
Ali Mohammad Pur 2 lat temu
rodzic
commit
538c308357
1 zmienionych plików z 4 dodań i 4 usunięć
  1. 4 4
      Userland/Libraries/LibWasm/WASI/Wasi.cpp

+ 4 - 4
Userland/Libraries/LibWasm/WASI/Wasi.cpp

@@ -520,7 +520,7 @@ ErrorOr<Result<FileStat>> Implementation::impl$path_filestat_get(Configuration&
             auto& entry = preopened_directories()[descriptor.value()];
             auto& entry = preopened_directories()[descriptor.value()];
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
                 DeprecatedString path = entry.host_path.string();
                 DeprecatedString path = entry.host_path.string();
-                return open(path.characters(), O_DIRECTORY, 0755);
+                return open(path.characters(), O_DIRECTORY, 0);
             });
             });
             entry.opened_fd = dir_fd;
             entry.opened_fd = dir_fd;
         },
         },
@@ -583,7 +583,7 @@ ErrorOr<Result<void>> Implementation::impl$path_create_directory(Configuration&
             auto& entry = preopened_directories()[descriptor.value()];
             auto& entry = preopened_directories()[descriptor.value()];
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
                 DeprecatedString path = entry.host_path.string();
                 DeprecatedString path = entry.host_path.string();
-                return open(path.characters(), O_DIRECTORY, 0755);
+                return open(path.characters(), O_DIRECTORY, 0);
             });
             });
             entry.opened_fd = dir_fd;
             entry.opened_fd = dir_fd;
         },
         },
@@ -614,7 +614,7 @@ ErrorOr<Result<FD>> Implementation::impl$path_open(Configuration& configuration,
             auto& entry = preopened_directories()[descriptor.value()];
             auto& entry = preopened_directories()[descriptor.value()];
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
             dir_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
                 DeprecatedString path = entry.host_path.string();
                 DeprecatedString path = entry.host_path.string();
-                return open(path.characters(), O_DIRECTORY, 0755);
+                return open(path.characters(), O_DIRECTORY, 0);
             });
             });
             entry.opened_fd = dir_fd;
             entry.opened_fd = dir_fd;
         },
         },
@@ -706,7 +706,7 @@ ErrorOr<Result<FileStat>> Implementation::impl$fd_filestat_get(Configuration&, F
             auto& entry = preopened_directories()[descriptor.value()];
             auto& entry = preopened_directories()[descriptor.value()];
             resolved_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
             resolved_fd = entry.opened_fd.value_or_lazy_evaluated([&] {
                 DeprecatedString path = entry.host_path.string();
                 DeprecatedString path = entry.host_path.string();
-                return open(path.characters(), O_DIRECTORY, 0755);
+                return open(path.characters(), O_DIRECTORY, 0);
             });
             });
             entry.opened_fd = resolved_fd;
             entry.opened_fd = resolved_fd;
         },
         },