smbXcli: use talloc_stackframe() instead of talloc_tos() in smb1cli_conn_signv()
authorStefan Metzmacher <metze@samba.org>
Fri, 25 Nov 2011 12:12:35 +0000 (13:12 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 29 Nov 2011 15:00:07 +0000 (16:00 +0100)
metze

libcli/smb/smbXcli_base.c

index 16f594b9cb8915c0af4a7bf3168aa02870d74428..e479549343c6a82b6b0d3937506d81604f443fef 100644 (file)
@@ -1118,6 +1118,7 @@ static NTSTATUS smb1cli_conn_signv(struct smbXcli_conn *conn,
                                   uint32_t *seqnum,
                                   bool one_way_seqnum)
 {
+       TALLOC_CTX *frame = NULL;
        uint8_t *buf;
 
        /*
@@ -1141,7 +1142,9 @@ static NTSTATUS smb1cli_conn_signv(struct smbXcli_conn *conn,
                return NT_STATUS_INVALID_PARAMETER_MIX;
        }
 
-       buf = smbXcli_iov_concat(talloc_tos(), iov, iov_count);
+       frame = talloc_stackframe();
+
+       buf = smbXcli_iov_concat(frame, iov, iov_count);
        if (buf == NULL) {
                return NT_STATUS_NO_MEMORY;
        }
@@ -1151,7 +1154,7 @@ static NTSTATUS smb1cli_conn_signv(struct smbXcli_conn *conn,
        smb_signing_sign_pdu(conn->smb1.signing, buf, *seqnum);
        memcpy(iov[1].iov_base, buf+4, iov[1].iov_len);
 
-       TALLOC_FREE(buf);
+       TALLOC_FREE(frame);
        return NT_STATUS_OK;
 }