чување ebe1ae2bfbe2267ac1e75a8dd1e6bec72166a313
родитељ b55257154b293dd834a27cc1499fc4bf590e9245
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Wed, 28 Feb 2024 20:36:30 +0100
sled.c: Add pledge(2) and unveil(2)
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 1, додавања: 15(+), брисања: 0(-)
diff --git a/sled.c b/sled.c
@@ -2183,6 +2183,13 @@ main(int argc, char** argv)
*prompt = 0;
*filename = 0;
+#ifdef __OpenBSD__
+ if (pledge("stdio tty unveil rpath wpath cpath", NULL) < 0)
+ {
+ perror("sled: pledge");
+ exit(1);
+ }
+#endif
if (argc == 1)
return print_error(1, "No filename given");
@@ -2238,6 +2245,14 @@ main(int argc, char** argv)
*(dirname + 1) = 0;
}
+#ifdef __OpenBSD__
+ if (unveil(dirname, "rwc") < 0)
+ {
+ perror("sled: unveil");
+ exit(1);
+ }
+#endif
+
dir_access = access(dirname, W_OK);
dir_access_errno = errno;
if (stat(filename, &st) == -1)