r22112: Fix memleak pointed out by Steven Danneman <steven.danneman@isilon.com>.
authorJeremy Allison <jra@samba.org>
Fri, 6 Apr 2007 21:55:44 +0000 (21:55 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:19:14 +0000 (12:19 -0500)
Jeremy.
(This used to be commit 7c45bd3a47fc2b24c5f1351a241ace2201c857d2)

source3/libads/ldap.c

index 1d08a01a26389c7fb1ce1af44de0413b4bb1c15f..b2ca68f67fef5fb354ddf074bfefe7ae5266222c 100644 (file)
@@ -2258,7 +2258,6 @@ int ads_count_replies(ADS_STRUCT *ads, void *res)
                  LDAPMessage *msg, const char *field, SEC_DESC **sd)
 {
        struct berval **values;
-       prs_struct      ps;
        BOOL ret = False;
 
        values = ldap_get_values_len(ads->ld, msg, field);
@@ -2266,11 +2265,13 @@ int ads_count_replies(ADS_STRUCT *ads, void *res)
        if (!values) return False;
 
        if (values[0]) {
+               prs_struct ps;
                prs_init(&ps, values[0]->bv_len, mem_ctx, UNMARSHALL);
                prs_copy_data_in(&ps, values[0]->bv_val, values[0]->bv_len);
                prs_set_offset(&ps,0);
 
                ret = sec_io_desc("sd", sd, &ps, 1);
+               prs_mem_free(&ps);
        }
        
        ldap_value_free_len(values);