$OpenBSD: patch-checkpeerlocal_c,v 1.1 2002/09/25 07:42:39 marcm Exp $
--- checkpeerlocal.c.orig	Tue Sep 24 10:39:48 2002
+++ checkpeerlocal.c	Tue Sep 24 10:46:05 2002
@@ -163,14 +163,15 @@ int checkpeerlocal(int sock)
 		mastr_delete(buf);
 		return -1;
 	    }
-	    /* this workaround for older Solaris machines can cause OOM
-	     * for errors that are not "buffer too small". So there.
-	     * See Postfix' inet_addr_local.c for details.
-	     */
-	    mastr_resizekill(buf, mastr_size(buf) * 2);
-	} else if ((unsigned)ifc.ifc_len < mastr_size(buf) / 2) {
+	} 
+
+	/* work around bugs in old Solaris (see Postfix'
+	 * inet_addr_local.c for details) */
+	if ((unsigned)ifc.ifc_len < mastr_size(buf) / 2) {
 	    break;
 	}
+
+	mastr_resizekill(buf, mastr_size(buf) * 2);
     }
 
     /* get addresses and netmasks */
