]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/sl_malloc.c
Fix rev 1.266, was creating {0}config entry prematurely.
[openldap] / servers / slapd / sl_malloc.c
index b19507ab2adb324d0bcf5a7154bfe85706d22961..4feab16e2b2438f02943fe1a892db05ece729aa9 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2003-2006 The OpenLDAP Foundation.
+ * Copyright 2003-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -94,7 +94,8 @@ void *
 slap_sl_mem_create(
        ber_len_t size,
        int stack,
-       void *ctx
+       void *ctx,
+       int new
 )
 {
        struct slab_heap *sh;
@@ -113,6 +114,9 @@ slap_sl_mem_create(
        sh = sh_tmp;
 #endif
 
+       if ( !new )
+               return sh;
+
        /* round up to doubleword boundary */
        size += pad;
        size &= ~pad;
@@ -262,7 +266,7 @@ slap_sl_malloc(
        int i, j;
 
 #ifdef SLAP_NO_SL_MALLOC
-       return ber_malloc_x( size, NULL );
+       return ber_memalloc_x( size, NULL );
 #endif
 
        /* ber_set_option calls us like this */