Accidentally relayd(8) closed file descriptor 0 in the pfe child
authorbluhm <bluhm@openbsd.org>
Sat, 1 Sep 2018 18:09:14 +0000 (18:09 +0000)
committerbluhm <bluhm@openbsd.org>
Sat, 1 Sep 2018 18:09:14 +0000 (18:09 +0000)
process.  If env->sc_snmp is initialized with 0, snmp_init() closes
it.  Set it to -1 to prevent the close(2).
OK reyk@ benno@ millert@

usr.sbin/relayd/relayd.c

index c2e675a..ad6bce1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: relayd.c,v 1.172 2018/08/06 17:31:31 benno Exp $      */
+/*     $OpenBSD: relayd.c,v 1.173 2018/09/01 18:09:14 bluhm Exp $      */
 
 /*
  * Copyright (c) 2007 - 2016 Reyk Floeter <reyk@openbsd.org>
@@ -184,6 +184,7 @@ main(int argc, char *argv[])
        TAILQ_INIT(&env->sc_hosts);
        TAILQ_INIT(&env->sc_sessions);
        env->sc_rtable = getrtable();
+       env->sc_snmp = -1;
        /* initialize the TLS session id to a random key for all relay procs */
        arc4random_buf(env->sc_conf.tls_sid, sizeof(env->sc_conf.tls_sid));