diff -up openslp-2.0.0/common/slp_xmalloc.c.orig openslp-2.0.0/common/slp_xmalloc.c
--- openslp-2.0.0/common/slp_xmalloc.c.orig	2012-12-07 01:52:08.000000000 +0100
+++ openslp-2.0.0/common/slp_xmalloc.c	2016-05-23 12:58:57.953532979 +0200
@@ -203,6 +203,8 @@ void * _xrealloc(const char * file, int
       if (x->size != size)
       {
          newptr = _xmalloc(file, line, size);
+         if (newptr == 0)
+            return 0;
          memcpy(newptr, ptr, x->size);
          _xfree(file, line, x);
       }
