]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/getfilter.c
Removed numerous memory leaks detected by Mark Meredith.
[openldap] / libraries / libldap / getfilter.c
index c085d146ae06ce20b00772881fa06a89c3dcb0cb..e3cb60fd0ac3a3eca75a04b957ee7323f35f8109 100644 (file)
@@ -12,7 +12,8 @@
 #include "portable.h"
 
 #include <stdio.h>
-#include <stdlib.h>
+
+#include <ac/stdlib.h>
 
 #include <ac/ctype.h>
 #include <ac/errno.h>
@@ -82,7 +83,7 @@ ldap_init_getfilter( LDAP_CONST char *fname )
 
 
 LDAPFiltDesc *
-ldap_init_getfilter_buf( char *buf, long buflen )
+ldap_init_getfilter_buf( char *buf, ber_len_t buflen )
 {
     LDAPFiltDesc       *lfdp;
     LDAPFiltList       *flp, *nextflp;
@@ -118,7 +119,7 @@ ldap_init_getfilter_buf( char *buf, long buflen )
                ldap_getfilter_free( lfdp );
                return( NULL );
            }
-           nextflp->lfl_tag = strdup( tag );
+           nextflp->lfl_tag = LDAP_STRDUP( tag );
            nextflp->lfl_pattern = tok[ 0 ];
            if ( (rc = regcomp( &re, nextflp->lfl_pattern, 0 )) != 0 ) {
 #ifdef LDAP_LIBUI
@@ -213,12 +214,12 @@ ldap_setfilteraffixes( LDAPFiltDesc *lfdp, LDAP_CONST char *prefix, LDAP_CONST c
     if ( lfdp->lfd_filtprefix != NULL ) {
        LDAP_FREE( lfdp->lfd_filtprefix );
     }
-    lfdp->lfd_filtprefix = ( prefix == NULL ) ? NULL : strdup( prefix );
+    lfdp->lfd_filtprefix = ( prefix == NULL ) ? NULL : LDAP_STRDUP( prefix );
 
     if ( lfdp->lfd_filtsuffix != NULL ) {
        LDAP_FREE( lfdp->lfd_filtsuffix );
     }
-    lfdp->lfd_filtsuffix = ( suffix == NULL ) ? NULL : strdup( suffix );
+    lfdp->lfd_filtsuffix = ( suffix == NULL ) ? NULL : LDAP_STRDUP( suffix );
 }
 
 
@@ -270,7 +271,7 @@ ldap_getfirstfilter(
        return( NULL );
     }
 
-    if (( lfdp->lfd_curvalcopy = strdup( value )) == NULL ) {
+    if (( lfdp->lfd_curvalcopy = LDAP_STRDUP( value )) == NULL ) {
        return( NULL );
     }
 
@@ -313,7 +314,7 @@ ldap_getnextfilter( LDAPFiltDesc *lfdp )
 void
 ldap_build_filter(
        char *filtbuf,
-       unsigned long buflen,
+       ber_len_t buflen,
        LDAP_CONST char *pattern,
        LDAP_CONST char *prefix,
        LDAP_CONST char *suffix,