Import Debian changes 4.89-2+deb9u4
[hcoop/debian/exim4.git] / debian / patches / 91_Expansions-Fix-crash-in-crypteq-On-OpenBSD-a-bad-sec.patch
diff --git a/debian/patches/91_Expansions-Fix-crash-in-crypteq-On-OpenBSD-a-bad-sec.patch b/debian/patches/91_Expansions-Fix-crash-in-crypteq-On-OpenBSD-a-bad-sec.patch
deleted file mode 100644 (file)
index 4fe11db..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9dc2b215e83a63efa242f6acd3ab7af8b608e5a1 Mon Sep 17 00:00:00 2001
-From: Jeremy Harris <jgh146exb@wizmail.org>
-Date: Mon, 11 Jan 2016 15:50:22 +0000
-Subject: [PATCH] Expansions: Fix crash in crypteq: On OpenBSD a bad second-arg
- results in an error-return from crypt().  Errorcheck that return.
-
----
- src/expand.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/src/expand.c b/src/expand.c
-index f144a75..2966c22 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -2791,7 +2791,7 @@ switch(cond_type)
-       #define XSTR(s) STR(s)
-       DEBUG(D_auth) debug_printf("crypteq: using %s()\n"
-         "  subject=%s\n  crypted=%s\n",
--        (which == 0)? XSTR(DEFAULT_CRYPT) : (which == 1)? "crypt" : "crypt16",
-+        which == 0 ? XSTR(DEFAULT_CRYPT) : which == 1 ? "crypt" : "crypt16",
-         coded, sub[1]);
-       #undef STR
-       #undef XSTR
-@@ -2800,8 +2800,16 @@ switch(cond_type)
-       salt), force failure. Otherwise we get false positives: with an empty
-       string the yield of crypt() is an empty string! */
--      tempcond = (Ustrlen(sub[1]) < 2)? FALSE :
--        (Ustrcmp(coded, sub[1]) == 0);
-+      if (coded)
-+      tempcond = Ustrlen(sub[1]) < 2 ? FALSE : Ustrcmp(coded, sub[1]) == 0;
-+      else if (errno == EINVAL)
-+      tempcond = FALSE;
-+      else
-+      {
-+      expand_string_message = string_sprintf("crypt error: %s\n",
-+        US strerror(errno));
-+      return NULL;
-+      }
-       }
-     break;
-     #endif  /* SUPPORT_CRYPTEQ */
--- 
-2.8.0.rc3
-