}
 
                if ( value.bv_val == NULL || value.bv_len == 0 ) {
-                       free( value.bv_val );
                        rc = LDAP_INVALID_SYNTAX;
                        goto return_error;
                } 
                                (long) tag, 0, 0 );
 #endif
 
-                       free( value.bv_val );
                        goto return_error;
                }
 
                        usage, &value, &nvalue, text );
 
                if( rc != LDAP_SUCCESS ) {
-                       free( value.bv_val );
                        goto return_error;
                }
 #else
                rc = value_validate( ssa.sa_desc->ad_type->sat_equality,
                        &value, text );
                if( rc != LDAP_SUCCESS ) {
-                       free( value.bv_val );
                        goto return_error;
                }
 
                rc = value_normalize( ssa.sa_desc, usage,
                        &value, &nvalue, text );
 
-               free( value.bv_val );
-
                if( rc != LDAP_SUCCESS ) {
                        goto return_error;
                }
        }
 }
 
+#if 0 /* unused */
 static int
 get_substring_vrFilter(
        Connection      *conn,
        struct berval value;
        char            *last;
        struct berval bv;
-       SubstringsAssertion ssa;
        *text = "error decoding filter";
 
 #ifdef NEW_LOGGING
 #endif
        return( LDAP_SUCCESS );
 }
-
+#endif /* unused */