when we reduced the number of iovec's we passed through an imsg, the iovec
authorgilles <gilles@openbsd.org>
Thu, 22 May 2014 20:31:03 +0000 (20:31 +0000)
committergilles <gilles@openbsd.org>
Thu, 22 May 2014 20:31:03 +0000 (20:31 +0000)
declaration was not bumped down causing us to pass extra junk leading to a
crash in the pki lookup code. i'm amazed no one else crashed on that :-/

reported by Olivier Antoine who kindly provided access to his box

usr.sbin/smtpd/lka.c

index 226614f..ad0e0dd 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: lka.c,v 1.169 2014/05/01 15:50:20 reyk Exp $  */
+/*     $OpenBSD: lka.c,v 1.170 2014/05/22 20:31:03 gilles Exp $        */
 
 /*
  * Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -62,7 +62,7 @@ lka_imsg(struct mproc *p, struct imsg *imsg)
        struct table            *table;
        int                      ret;
        struct pki              *pki;
-       struct iovec            iov[3];
+       struct iovec            iov[2];
        static struct ca_vrfy_req_msg   *req_ca_vrfy_smtp = NULL;
        static struct ca_vrfy_req_msg   *req_ca_vrfy_mta = NULL;
        struct ca_vrfy_req_msg          *req_ca_vrfy_chain;