summaryrefslogtreecommitdiff
path: root/user/netqmail/0005-CVE-2005-1513.patch
blob: 3b3876cb33c007a7f8b334bb55b7253fc2cad8a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff -rNU3 netqmail-1.06.old/alloc.c netqmail-1.06/alloc.c
--- netqmail-1.06.old/alloc.c	1998-06-15 10:53:16.000000000 +0000
+++ netqmail-1.06/alloc.c	2020-05-21 11:33:24.689739728 +0000
@@ -1,3 +1,4 @@
+#include <limits.h>
 #include "alloc.h"
 #include "error.h"
 extern char *malloc();
@@ -15,6 +16,10 @@
 unsigned int n;
 {
   char *x;
+  if (n >= (INT_MAX >> 3)) {
+    errno = error_nomem;
+    return 0;
+  }
   n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */
   if (n <= avail) { avail -= n; return space + avail; }
   x = malloc(n);