s4:rpc_server Ensure we talloc_free handles when we delete objects
authorAndrew Bartlett <abartlet@samba.org>
Wed, 21 Oct 2009 05:07:22 +0000 (16:07 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 21 Oct 2009 11:43:56 +0000 (22:43 +1100)
If we don't talloc_free the handle, we leak the memory onto the long-term
context.

Andrew Bartlett

source4/rpc_server/samr/dcesrv_samr.c

index 5b9aa91ded980f12883e829144d8e59c5170eca7..f4ada2c7c7d180ddb23c28328b5a6a63cafa0355 100644 (file)
@@ -2300,6 +2300,7 @@ static NTSTATUS dcesrv_samr_DeleteDomainGroup(struct dcesrv_call_state *dce_call
                return NT_STATUS_UNSUCCESSFUL;
        }
 
+       talloc_free(h);
        ZERO_STRUCTP(r->out.group_handle);
 
        return NT_STATUS_OK;
@@ -2676,6 +2677,7 @@ static NTSTATUS dcesrv_samr_DeleteDomAlias(struct dcesrv_call_state *dce_call, T
                return NT_STATUS_UNSUCCESSFUL;
        }
 
+       talloc_free(h);
        ZERO_STRUCTP(r->out.alias_handle);
 
        return NT_STATUS_OK;
@@ -2962,6 +2964,7 @@ static NTSTATUS dcesrv_samr_DeleteUser(struct dcesrv_call_state *dce_call, TALLO
                return NT_STATUS_UNSUCCESSFUL;
        }
 
+       talloc_free(h);
        ZERO_STRUCTP(r->out.user_handle);
 
        return NT_STATUS_OK;