X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Freferences.c;h=4ec4d91bb60e84a74789c42bb75c53c8c9ad0d31;hb=f3880e56334b477054b3a0049aa4fbb69632a1ca;hp=dfb901535f7f375e9ce29ad8a04dd056f271b655;hpb=22d98c85c3ece96dd2e3d9b76195973d0639cd49;p=openldap diff --git a/libraries/libldap/references.c b/libraries/libldap/references.c index dfb901535f..4ec4d91bb6 100644 --- a/libraries/libldap/references.c +++ b/libraries/libldap/references.c @@ -9,7 +9,8 @@ #include "portable.h" #include -#include + +#include #include #include @@ -18,15 +19,15 @@ #include "ldap-int.h" -/* ARGSUSED */ LDAPMessage * ldap_first_reference( LDAP *ld, LDAPMessage *chain ) { assert( ld != NULL ); + assert( LDAP_VALID( ld ) ); assert( chain != NULL ); - if ( ld == NULL || chain == NULLMSG ) { - return NULLMSG; + if ( ld == NULL || chain == NULL ) { + return NULL; } return chain->lm_msgtype == LDAP_RES_SEARCH_REFERENCE @@ -38,15 +39,16 @@ LDAPMessage * ldap_next_reference( LDAP *ld, LDAPMessage *ref ) { assert( ld != NULL ); + assert( LDAP_VALID( ld ) ); assert( ref != NULL ); - if ( ld == NULL || ref == NULLMSG ) { - return NULLMSG; + if ( ld == NULL || ref == NULL ) { + return NULL; } for ( ref = ref->lm_chain; - ref != NULLMSG; + ref != NULL; ref = ref->lm_chain ) { if( ref->lm_msgtype == LDAP_RES_SEARCH_REFERENCE ) { @@ -54,7 +56,7 @@ ldap_next_reference( LDAP *ld, LDAPMessage *ref ) } } - return( NULLMSG ); + return( NULL ); } int @@ -63,12 +65,14 @@ ldap_count_references( LDAP *ld, LDAPMessage *chain ) int i; assert( ld != NULL ); + assert( LDAP_VALID( ld ) ); assert( chain != NULL ); if ( ld == NULL ) { return -1; } + for ( i = 0; chain != NULL; chain = chain->lm_chain ) { if( chain->lm_msgtype == LDAP_RES_SEARCH_REFERENCE ) { i++; @@ -91,6 +95,7 @@ ldap_parse_reference( int rc; assert( ld != NULL ); + assert( LDAP_VALID( ld ) ); assert( ref != NULL ); if( ld == NULL || ref == NULL || @@ -136,15 +141,15 @@ free_and_return: if( rc != LDAP_SUCCESS ) { ld->ld_errno = rc; - if( ld->ld_matched != NULL ) - free( ld->ld_matched ); - - ld->ld_matched = NULL; - - if( ld->ld_error != NULL ) - free( ld->ld_error ); + if( ld->ld_matched != NULL ) { + LDAP_FREE( ld->ld_matched ); + ld->ld_matched = NULL; + } - ld->ld_error = NULL; + if( ld->ld_error != NULL ) { + LDAP_FREE( ld->ld_error ); + ld->ld_error = NULL; + } } return rc;