]> git.sur5r.net Git - openldap/commitdiff
Fix double free of filter when bad.
authorKurt Zeilenga <kurt@openldap.org>
Wed, 3 Feb 1999 05:51:42 +0000 (05:51 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 3 Feb 1999 05:51:42 +0000 (05:51 +0000)
servers/slapd/filter.c

index 5f4c686571b0ec3203330cde949b6aab0287e24b..dff90b0446a16ccdbdb16f54dd2528c13168b416 100644 (file)
@@ -47,7 +47,6 @@ get_filter( Connection *conn, BerElement *ber, Filter **filt, char **fstr )
         */
 
        f = (Filter *) ch_malloc( sizeof(Filter) );
-       *filt = f;
        f->f_next = NULL;
 
        err = 0;
@@ -175,6 +174,8 @@ get_filter( Connection *conn, BerElement *ber, Filter **filt, char **fstr )
                if ( *fstr != NULL ) {
                        free( *fstr );
                }
+       } else {
+               *filt = f;
        }
 
        Debug( LDAP_DEBUG_FILTER, "end get_filter %d\n", err, 0, 0 );