diff --git a/src/vppinfra/dlmalloc.h b/src/vppinfra/dlmalloc.h
index fbc49e3..b3278f9 100644
--- a/src/vppinfra/dlmalloc.h
+++ b/src/vppinfra/dlmalloc.h
@@ -524,6 +524,17 @@
 #include <vppinfra/clib.h>
 #include <vppinfra/cache.h>
 
+/* --- begin vpp customizations --- */
+
+#if CLIB_DEBUG > 0
+#define FOOTERS 1  /* extra debugging */
+#endif
+#define USE_LOCKS 1
+#define DLM_ABORT {extern void os_panic(void); os_panic(); abort();}
+#define ONLY_MSPACES 1
+
+/* --- end vpp customizations --- */
+
 /* Version identifier to allow people to support multiple versions */
 #ifndef DLMALLOC_VERSION
 #define DLMALLOC_VERSION 20806
@@ -587,8 +598,6 @@
 /* The maximum possible size_t value has all bits set */
 #define MAX_SIZE_T           (~(size_t)0)
 
-#define USE_LOCKS 1
-
 #ifndef USE_LOCKS /* ensure true if spin or recursive locks set */
 #define USE_LOCKS  ((defined(USE_SPIN_LOCKS) && USE_SPIN_LOCKS != 0) || \
                     (defined(USE_RECURSIVE_LOCKS) && USE_RECURSIVE_LOCKS != 0))
diff --git a/src/vppinfra/test_vec.c b/src/vppinfra/test_vec.c
index ee17ef1..d60d27b 100644
--- a/src/vppinfra/test_vec.c
+++ b/src/vppinfra/test_vec.c
@@ -1079,6 +1079,7 @@
   uword help = 0;
   uword big = 0;
   uword align = 0;
+  uword ugly = 0;
 
   while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
     {
@@ -1089,6 +1090,7 @@
 	  && 0 == unformat (input, "dump %d", &g_dump_period)
 	  && 0 == unformat (input, "help %=", &help, 1)
 	  && 0 == unformat (input, "big %=", &big, 1)
+	  && 0 == unformat (input, "ugly %d", &ugly)
 	  && 0 == unformat (input, "align %=", &align, 1))
 	{
 	  clib_error ("unknown input `%U'", format_unformat_error, input);
@@ -1096,6 +1098,19 @@
 	}
     }
 
+  /* Cause a deliberate heap botch */
+  if (ugly)
+    {
+      u8 *overrun_me = 0;
+      int i;
+
+      vec_validate (overrun_me, 31);
+      for (i = 0; i < vec_len (overrun_me) + ugly; i++)
+	overrun_me[i] = i;
+
+      vec_free (overrun_me);
+    }
+
   if (big)
     {
       u8 *bigboy = 0;
