From: Andrew Tridgell Date: Wed, 1 Jul 2009 03:59:52 +0000 (+1000) Subject: fixed rpc smb code to not reply on talloc_free being a function pointer X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=9faa0745e9598a9096a7c69c30c273b47393e819 fixed rpc smb code to not reply on talloc_free being a function pointer The upcoming talloc_free/talloc_reference changes change talloc_free to be a macro. These two bits of code relied on it being a function pointer --- diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c index 013a8578e670..8b221747aca1 100644 --- a/source4/librpc/rpc/dcerpc_smb.c +++ b/source4/librpc/rpc/dcerpc_smb.c @@ -360,6 +360,12 @@ static NTSTATUS smb_send_request(struct dcerpc_connection *c, DATA_BLOB *blob, return NT_STATUS_OK; } + +static void free_request(struct smbcli_request *req) +{ + talloc_free(req); +} + /* shutdown SMB pipe connection */ @@ -378,7 +384,7 @@ static NTSTATUS smb_shutdown_pipe(struct dcerpc_connection *c, NTSTATUS status) req = smb_raw_close_send(smb->tree, &io); if (req != NULL) { /* we don't care if this fails, so just free it if it succeeds */ - req->async.fn = (void (*)(struct smbcli_request *))talloc_free; + req->async.fn = free_request; } talloc_free(smb); diff --git a/source4/librpc/rpc/dcerpc_smb2.c b/source4/librpc/rpc/dcerpc_smb2.c index e4933652f44f..fbd847680f77 100644 --- a/source4/librpc/rpc/dcerpc_smb2.c +++ b/source4/librpc/rpc/dcerpc_smb2.c @@ -324,6 +324,11 @@ static NTSTATUS smb2_send_request(struct dcerpc_connection *c, DATA_BLOB *blob, return NT_STATUS_OK; } +static void free_request(struct smb2_request *req) +{ + talloc_free(req); +} + /* shutdown SMB pipe connection */ @@ -341,7 +346,7 @@ static NTSTATUS smb2_shutdown_pipe(struct dcerpc_connection *c, NTSTATUS status) req = smb2_close_send(smb->tree, &io); if (req != NULL) { /* we don't care if this fails, so just free it if it succeeds */ - req->async.fn = (void (*)(struct smb2_request *))talloc_free; + req->async.fn = free_request; } talloc_free(smb);