fix promises buffer size and small cleanup - geomyidae - A small C-based gopherd.
 (HTM) git clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit b6cd8dc7652f6a9cc6e74bf24b0df27be2a47d32
 (DIR) parent 25298ac2cb69c28100c9cc5aa1fde245e23743f5
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sat, 23 Jun 2018 11:32:25 +0200
       
       fix promises buffer size and small cleanup
       
       with feedback from quinq
       
       Signed-off-by: Christoph Lohmann <20h@r-36.net>
       
       Diffstat:
         M main.c                              |      20 ++++++++++++--------
       
       1 file changed, 12 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/main.c b/main.c
       @@ -539,11 +539,14 @@ main(int argc, char *argv[])
                cltlen = sizeof(clt);
        
        #ifdef __OpenBSD__
       -        char promises[30];
       -        snprintf(promises, sizeof(promises), "rpath inet stdio proc exec %s %s",
       +        char *promises = (char[35]){};
       +        snprintf(promises, 35, "rpath inet stdio proc exec %s %s",
                        revlookup ? "dns"  : "",
                        dofork    ? "tty"  : "");
       -        pledge(promises, NULL);
       +        if (pledge(promises, NULL) == -1) {
       +                perror("pledge");
       +                exit(1);
       +        }
        #endif /* __OpenBSD__ */
        
                while (1) {
       @@ -585,11 +588,12 @@ main(int argc, char *argv[])
                                signal(SIGALRM, SIG_DFL);
        
        #ifdef __OpenBSD__
       -                        char client_promises[25];
       -                        snprintf(client_promises, sizeof(client_promises),
       -                                        "rpath inet stdio %s",
       -                                        nocgi ? "" : "proc exec" );
       -                        pledge(client_promises, NULL);
       +                        promises = nocgi ? "rpath inet stdio" :
       +                                           "rpath inet stdio proc exec";
       +                        if (pledge(promises, NULL) == -1) {
       +                                perror("pledge");
       +                                exit(1);
       +                        }
        #endif /* __OpenBSD__ */
        
                                handlerequest(sock, base, ohost, sport, clienth,