From 03b105339a7091e1aa1d28bd579f738bbc266c2f Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 9 Aug 2008 15:41:55 +0000 Subject: [PATCH] handle anonymous before doing mallocs --- servers/slapd/sets.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c index d8de70044d..52f23306ef 100644 --- a/servers/slapd/sets.c +++ b/servers/slapd/sets.c @@ -726,6 +726,7 @@ slap_set_filter( SLAP_SET_GATHER gatherer, if ( len == 4 && memcmp( "this", filter, len ) == 0 ) { + assert( !BER_BVISNULL( target ) ); if ( ( SF_TOP() == (void *)'/' ) || IS_SET( SF_TOP() ) ) { SF_ERROR( syntax ); } @@ -746,15 +747,15 @@ slap_set_filter( SLAP_SET_GATHER gatherer, if ( ( SF_TOP() == (void *)'/' ) || IS_SET( SF_TOP() ) ) { SF_ERROR( syntax ); } + if ( BER_BVISNULL( user ) ) { + SF_ERROR( memory ); + } set = cp->set_op->o_tmpcalloc( 2, sizeof( struct berval ), cp->set_op->o_tmpmemctx ); if ( set == NULL ) { SF_ERROR( memory ); } ber_dupbv_x( set, user, cp->set_op->o_tmpmemctx ); - if ( BER_BVISNULL( set ) ) { - SF_ERROR( memory ); - } BER_BVZERO( &set[ 1 ] ); } else if ( SF_TOP() != (void *)'/' ) { -- 2.39.5