diff --git a/configure b/configure
index 83418cf..41dad21 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# From configure.in Revision: 1.53 
+# From configure.in Revision: 1.54 
 
 # Guess values for system-dependent variables and create Makefiles.
 # Generated automatically using autoconf version 2.12 
@@ -3666,6 +3666,59 @@
 echo "$ac_t""$ac_cv_func_getopt" 1>&6
 test $ac_cv_func_getopt = no && LIBOBJS="$LIBOBJS getopt.o"
 
+# check whether malloc(0) returns NULL or not
+
+echo $ac_n "checking what malloc(0) returns""... $ac_c" 1>&6
+echo "configure:3673: checking what malloc(0) returns" >&5
+if eval "test \"`echo '$''{'ac_cv_malloc_zero'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+  cat > conftest.$ac_ext <<EOF
+#line 3681 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+#ifdef HAVE_STDLIB
+#include <stdlib.h>
+#else
+char *malloc(), *realloc();
+int *free();
+#endif
+main() {
+	char *p;
+	p = malloc(0);
+	if (p == NULL) exit(1);
+	p = realloc(p, 0);
+	if (p == NULL) exit(1);
+	free(p);
+	exit(0);
+}
+EOF
+if { (eval echo configure:3700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_malloc_zero=nonnull
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_malloc_zero=null
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$ac_cv_malloc_zero" 1>&6
+if test "$ac_cv_malloc_zero" = null
+then
+  cat >> confdefs.h <<\EOF
+#define MALLOC_ZERO_RETURNS_NULL 1
+EOF
+
+fi
+
 # generate output files
 trap '' 1 2 15
 cat > confcache <<\EOF
@@ -3820,6 +3873,7 @@
 s%@WANT_SIGFPE_HANDLER@%$WANT_SIGFPE_HANDLER%g
 s%@LIBM@%$LIBM%g
 s%@LIBC@%$LIBC%g
+s%@MALLOC_ZERO_RETURNS_NULL@%$MALLOC_ZERO_RETURNS_NULL%g
 
 CEOF
 EOF
diff --git a/configure.in b/configure.in
index 1f9ba21..f2510ce 100644
--- a/configure.in
+++ b/configure.in
@@ -582,6 +582,32 @@
 test $ac_cv_func_getopt = no && LIBOBJS="$LIBOBJS getopt.o"
 AC_SUBST(LIBOBJS)dnl
 
+# check whether malloc(0) returns NULL or not
+AC_SUBST(MALLOC_ZERO_RETURNS_NULL)
+AC_MSG_CHECKING(what malloc(0) returns)
+AC_CACHE_VAL(ac_cv_malloc_zero,
+[AC_TRY_RUN([#include <stdio.h>
+#ifdef HAVE_STDLIB
+#include <stdlib.h>
+#else
+char *malloc(), *realloc();
+int *free();
+#endif
+main() {
+	char *p;
+	p = malloc(0);
+	if (p == NULL) exit(1);
+	p = realloc(p, 0);
+	if (p == NULL) exit(1);
+	free(p);
+	exit(0);
+}], ac_cv_malloc_zero=nonnull, ac_cv_malloc_zero=null)])
+AC_MSG_RESULT($ac_cv_malloc_zero)
+if test "$ac_cv_malloc_zero" = null
+then
+  AC_DEFINE(MALLOC_ZERO_RETURNS_NULL)
+fi
+
 # generate output files
 AC_OUTPUT(Makefile \
  Objects/Makefile \
