Pull in patch from 1.9.27 to fix potential infinite loop lockup.

ok pvalchev@
This commit is contained in:
marcm 2002-09-25 07:42:39 +00:00
parent 9f5bb51dae
commit b7ac8fbb26

View File

@ -0,0 +1,25 @@
$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 */