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