]> git.sur5r.net Git - openldap/blob - servers/slapd/ch_malloc.c
If dn2id returns ID but id2entry returns NULL, log it.
[openldap] / servers / slapd / ch_malloc.c
1 /* ch_malloc.c - malloc routines that test returns from malloc and friends */
2
3 #include "portable.h"
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 #include <ac/string.h>
9 #include <ac/socket.h>
10
11 #include "slap.h"
12
13 void *
14 ch_malloc(
15     unsigned long       size
16 )
17 {
18         void    *new;
19
20         if ( (new = (void *) malloc( size )) == NULL ) {
21                 Debug( LDAP_DEBUG_ANY, "malloc of %lu bytes failed\n", size, 0, 0 );
22                 exit( 1 );
23         }
24
25         return( new );
26 }
27
28 void *
29 ch_realloc(
30     void                *block,
31     unsigned long       size
32 )
33 {
34         void    *new;
35
36         if ( block == NULL ) {
37                 return( ch_malloc( size ) );
38         }
39
40         if ( (new = (void *) realloc( block, size )) == NULL ) {
41                 Debug( LDAP_DEBUG_ANY, "realloc of %lu bytes failed\n", size, 0, 0 );
42                 exit( 1 );
43         }
44
45         return( new );
46 }
47
48 void *
49 ch_calloc(
50     unsigned long       nelem,
51     unsigned long       size
52 )
53 {
54         void    *new;
55
56         if ( (new = (void *) calloc( nelem, size )) == NULL ) {
57                 Debug( LDAP_DEBUG_ANY, "calloc of %lu elems of %lu bytes failed\n",
58                   nelem, size, 0 );
59                 exit( 1 );
60         }
61
62         return( new );
63 }
64
65 char *
66 ch_strdup(
67     const char *string
68 )
69 {
70         char    *new;
71
72         if ( (new = strdup( string )) == NULL ) {
73                 Debug( LDAP_DEBUG_ANY, "strdup(%s) failed\n", string, 0, 0 );
74                 exit( 1 );
75         }
76
77         return( new );
78 }
79