diff options
author | Volker Lendecke <vlendec@samba.org> | 2007-08-14 07:58:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:29:40 -0500 |
commit | be67bb50eef88f4d56f48e785c1e5865616f5f33 (patch) | |
tree | 579083ef3ccc2a57d7664ef1b595ed8dd3cea7b7 /source | |
parent | 607b3ab8bc6052770f0324b57f3db6e1c11a7005 (diff) | |
download | samba-be67bb50eef88f4d56f48e785c1e5865616f5f33.tar.gz samba-be67bb50eef88f4d56f48e785c1e5865616f5f33.tar.xz samba-be67bb50eef88f4d56f48e785c1e5865616f5f33.zip |
r24399: Change change_notify_reply to use send_nt_replies_new
Diffstat (limited to 'source')
-rw-r--r-- | source/smbd/notify.c | 17 | ||||
-rw-r--r-- | source/smbd/nttrans.c | 2 |
2 files changed, 7 insertions, 12 deletions
diff --git a/source/smbd/notify.c b/source/smbd/notify.c index 8474ca6446b..144af093cf3 100644 --- a/source/smbd/notify.c +++ b/source/smbd/notify.c @@ -154,9 +154,8 @@ static void change_notify_reply_packet(const uint8 *request_buf, void change_notify_reply(const uint8 *request_buf, uint32 max_param, struct notify_change_buf *notify_buf) { - char *outbuf = NULL; prs_struct ps; - size_t buflen; + struct smb_request *req = NULL; if (notify_buf->num_changes == -1) { change_notify_reply_packet(request_buf, NT_STATUS_OK); @@ -176,22 +175,18 @@ void change_notify_reply(const uint8 *request_buf, uint32 max_param, goto done; } - buflen = smb_size+38+prs_offset(&ps) + 4 /* padding */; - - if (!(outbuf = SMB_MALLOC_ARRAY(char, buflen))) { + if (!(req = talloc(tmp_talloc_ctx(), struct smb_request))) { change_notify_reply_packet(request_buf, NT_STATUS_NO_MEMORY); goto done; } - construct_reply_common((char *)request_buf, outbuf); + init_smb_request(req, request_buf); - if (send_nt_replies((char *)request_buf, outbuf, buflen, NT_STATUS_OK, prs_data_p(&ps), - prs_offset(&ps), NULL, 0) == -1) { - exit_server("change_notify_reply_packet: send_smb failed."); - } + send_nt_replies_new(req, NT_STATUS_OK, prs_data_p(&ps), + prs_offset(&ps), NULL, 0); done: - SAFE_FREE(outbuf); + TALLOC_FREE(req); prs_mem_free(&ps); TALLOC_FREE(notify_buf->changes); diff --git a/source/smbd/nttrans.c b/source/smbd/nttrans.c index 401fdca9299..881378c924a 100644 --- a/source/smbd/nttrans.c +++ b/source/smbd/nttrans.c @@ -67,7 +67,7 @@ static char *nttrans_realloc(char **ptr, size_t size) HACK ! Always assumes smb_setup field is zero. ****************************************************************************/ -int send_nt_replies(const char *inbuf, +static int send_nt_replies(const char *inbuf, char *outbuf, int bufsize, NTSTATUS nt_error, |