s3-talloc Change TALLOC_ZERO_P() to talloc_zero()
[nivanova/samba-autobuild/.git] / source3 / smbd / message.c
index 82b3dc30a223eb2c7ebe9bd02ce81b6a4cc57e84..63b08e126203148718bd3552f9a82b797ba26566 100644 (file)
@@ -23,7 +23,9 @@
 
 
 #include "includes.h"
+#include "smbd/smbd.h"
 #include "smbd/globals.h"
+#include "smbprofile.h"
 
 extern userdom_struct current_user_info;
 
@@ -73,7 +75,7 @@ static void msg_deliver(struct msg_state *state)
 
        if (!convert_string_talloc(talloc_tos(), CH_DOS, CH_UNIX, state->msg,
                                   talloc_get_size(state->msg), (void *)&msg,
-                                  &len, true)) {
+                                  &len)) {
                DEBUG(3, ("Conversion failed, delivering message in DOS "
                          "codepage format\n"));
                msg = state->msg;
@@ -200,7 +202,7 @@ void reply_sendstrt(struct smb_request *req)
 
        TALLOC_FREE(smbd_msg_state);
 
-       smbd_msg_state = TALLOC_ZERO_P(NULL, struct msg_state);
+       smbd_msg_state = talloc_zero(NULL, struct msg_state);
 
        if (smbd_msg_state == NULL) {
                reply_nterror(req, NT_STATUS_NO_MEMORY);
@@ -245,7 +247,7 @@ void reply_sendtxt(struct smb_request *req)
                return;
        }
 
-       if (smbd_msg_state == NULL) {
+       if ((smbd_msg_state == NULL) || (req->buflen < 3)) {
                reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
                END_PROFILE(SMBsendtxt);
                return;
@@ -257,7 +259,7 @@ void reply_sendtxt(struct smb_request *req)
 
        len = MIN(SVAL(msg, 0), smbreq_bufrem(req, msg+2));
 
-       tmp = TALLOC_REALLOC_ARRAY(smbd_msg_state, smbd_msg_state->msg,
+       tmp = talloc_realloc(smbd_msg_state, smbd_msg_state->msg,
                                   char, old_len + len);
 
        if (tmp == NULL) {