Or even better keep the #ifndef since mknod(8) already has dpath annotation:

Index: main.c
===================================================================
RCS file: /cvs/src/bin/ksh/main.c,v
retrieving revision 1.75
diff -u -p -u -r1.75 main.c
--- main.c      14 Dec 2015 13:59:42 -0000      1.75
+++ main.c      26 Dec 2015 18:31:45 -0000
@@ -160,6 +160,12 @@ main(int argc, char *argv[])
                perror("pledge");
                exit(1);
        }
+#else
+       if (pledge("stdio rpath wpath cpath dpath fattr flock getpw proc exec 
tty",
+           NULL) == -1) {
+               perror("pledge");
+               exit(1);
+       }
 #endif

On 18:28 Sat 26 Dec     , Ricardo Mestre wrote:
> Hi tech@
> 
> Now that dpath annotation in pledge(2) is available then #ifndef MKNOD can be
> removed and enforce pledge(2) on all codepaths, is this correct, comments?
> 
> Index: main.c
> ===================================================================
> RCS file: /cvs/src/bin/ksh/main.c,v
> retrieving revision 1.75
> diff -u -p -u -r1.75 main.c
> --- main.c      14 Dec 2015 13:59:42 -0000      1.75
> +++ main.c      26 Dec 2015 18:23:34 -0000
> @@ -154,13 +154,11 @@ main(int argc, char *argv[])
>  
>         kshname = argv[0];
>  
> -#ifndef MKNOD
> -       if (pledge("stdio rpath wpath cpath fattr flock getpw proc exec tty",
> +       if (pledge("stdio rpath wpath cpath dpath fattr flock getpw proc exec 
> tty",
>             NULL) == -1) {
>                 perror("pledge");
>                 exit(1);
>         }
> -#endif
>  
>         ainit(&aperm);          /* initialize permanent Area */
>  

Reply via email to