X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-sql%2Fschema-map.c;h=a29fcce0d5b59072b7d4fe3aeb0fdefea3523382;hb=59e9ff6243465640956b58ad1756a3ede53eca7c;hp=b3b044d09f63f039e1f91497555bf5a725089371;hpb=752fdfd4455fb0c3784a10f69b16f64c65df78cb;p=openldap diff --git a/servers/slapd/back-sql/schema-map.c b/servers/slapd/back-sql/schema-map.c index b3b044d09f..a29fcce0d5 100644 --- a/servers/slapd/back-sql/schema-map.c +++ b/servers/slapd/back-sql/schema-map.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2013 The OpenLDAP Foundation. + * Copyright 1999-2018 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. @@ -421,6 +421,7 @@ backsql_oc_get_attr_mapping( void *v_oc, void *v_bas ) Debug( LDAP_DEBUG_TRACE, "backsql_oc_get_attr_mapping(): " "unable to fetch attribute \"%s\": %s (%d)\n", buf, text, rc ); + ch_free( at_map ); return BACKSQL_AVL_STOP; } } @@ -469,6 +470,7 @@ backsql_oc_get_attr_mapping( void *v_oc, void *v_bas ) "in objectClass \"%s\" map\n", at_map->bam_ad->ad_cname.bv_val, oc_map->bom_oc->soc_cname.bv_val, 0 ); + ch_free( at_map ); } if ( !BER_BVISNULL( &bas->bas_bi->sql_upper_func ) && @@ -620,6 +622,7 @@ backsql_load_schema_map( backsql_info *bi, SQLHDBC dbh ) Debug( LDAP_DEBUG_TRACE, "backsql_load_schema_map(): " "unable to parse id=\"%s\"\n", oc_row.cols[ 0 ], 0, 0 ); + ch_free( oc_map ); return LDAP_OTHER; } @@ -628,6 +631,7 @@ backsql_load_schema_map( backsql_info *bi, SQLHDBC dbh ) Debug( LDAP_DEBUG_TRACE, "backsql_load_schema_map(): " "objectClass \"%s\" is not defined in schema\n", oc_row.cols[ 1 ], 0, 0 ); + ch_free( oc_map ); return LDAP_OTHER; /* undefined objectClass ? */ } @@ -646,6 +650,7 @@ backsql_load_schema_map( backsql_info *bi, SQLHDBC dbh ) Debug( LDAP_DEBUG_TRACE, "backsql_load_schema_map(): " "unable to parse expect_return=\"%s\" for objectClass \"%s\"\n", oc_row.cols[ delete_proc_idx + 1 ], oc_row.cols[ 1 ], 0 ); + ch_free( oc_map ); return LDAP_OTHER; } @@ -666,6 +671,7 @@ backsql_load_schema_map( backsql_info *bi, SQLHDBC dbh ) text, rc ); backsql_PrintErrors( bi->sql_db_env, dbh, sth, rc ); + ch_free( oc_map ); return LDAP_OTHER; } } @@ -680,6 +686,7 @@ backsql_load_schema_map( backsql_info *bi, SQLHDBC dbh ) Debug( LDAP_DEBUG_TRACE, "backsql_load_schema_map(): " "duplicate objectClass \"%s\" in objectClass map\n", oc_map->bom_oc->soc_cname.bv_val, 0, 0 ); + ch_free( oc_map ); return LDAP_OTHER; } if ( avl_insert( &bi->sql_oc_by_id, oc_map, backsql_cmp_oc_id, avl_dup_error ) == -1 ) {