#else
Debug( LDAP_DEBUG_FILTER, " INITIAL\n", 0, 0, 0 );
#endif
- if ( f->f_sub_initial != NULL ) {
+
+ if ( f->f_sub_initial != NULL
+ || f->f_sub_any != NULL
+ || f->f_sub_final != NULL )
+ {
ber_bvfree( value );
goto return_error;
}
#else
Debug( LDAP_DEBUG_FILTER, " ANY\n", 0, 0, 0 );
#endif
+
+ if ( f->f_sub_final != NULL ) {
+ ber_bvfree( value );
+ goto return_error;
+ }
+
if( ber_bvecadd( &f->f_sub_any, value ) < 0 ) {
ber_bvfree( value );
goto return_error;
#else
Debug( LDAP_DEBUG_FILTER, " FINAL\n", 0, 0, 0 );
#endif
+
if ( f->f_sub_final != NULL ) {
ber_bvfree( value );
goto return_error;
}
+
f->f_sub_final = value;
if( fstr ) {