There's only one allocation anyway, so just allocate it and clean up
if we fail.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
{
struct dcerpc_binding_vector *bvec;
NTSTATUS status;
- TALLOC_CTX *tmp_ctx;
- tmp_ctx = talloc_stackframe();
- if (tmp_ctx == NULL) {
- return NT_STATUS_NO_MEMORY;
- }
-
- bvec = talloc_zero(tmp_ctx, struct dcerpc_binding_vector);
+ bvec = talloc_zero(mem_ctx, struct dcerpc_binding_vector);
if (bvec == NULL) {
status = NT_STATUS_NO_MEMORY;
goto done;
struct dcerpc_binding,
4);
if (bvec->bindings == NULL) {
+ talloc_free(bvec);
status = NT_STATUS_NO_MEMORY;
goto done;
}
bvec->allocated = 4;
bvec->count = 0;
-
- *pbvec = talloc_move(mem_ctx, &bvec);
+ *pbvec = bvec;
status = NT_STATUS_OK;
done:
- talloc_free(tmp_ctx);
-
return status;
}