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);