summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2019-06-07 18:58:43 +0200
committerAndreas Schneider <asn@cryptomilk.org>2019-06-11 15:25:56 +0000
commit08750166542f46644038d1ff9d839b270436addf (patch)
treed3bc08a6b6a60da2c9384a98b6b527be9e2ad2e5 /libcli
parent1817db965dc0caf55e4308fa4d9203ab4381dc90 (diff)
downloadsamba-08750166542f46644038d1ff9d839b270436addf.tar.gz
libcli/smb: add missing struct smb2_signing_key allocation in smb2cli_session_set_channel_key()
This was missing in commit 17e22e020fcb84fb9ddda350915369dc9ea28ef1 and causes all multi-channel tests to segfault. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Jun 11 15:25:56 UTC 2019 on sn-devel-184
Diffstat (limited to 'libcli')
-rw-r--r--libcli/smb/smbXcli_base.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index e916a17e07a..133b961528b 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -6302,6 +6302,15 @@ NTSTATUS smb2cli_session_set_channel_key(struct smbXcli_session *session,
memcpy(channel_key, _channel_key.data,
MIN(_channel_key.length, sizeof(channel_key)));
+ session->smb2_channel.signing_key = talloc_zero(session,
+ struct smb2_signing_key);
+ if (session->smb2_channel.signing_key == NULL) {
+ ZERO_STRUCT(channel_key);
+ return NT_STATUS_NO_MEMORY;
+ }
+ talloc_set_destructor(session->smb2_channel.signing_key,
+ smb2_signing_key_destructor);
+
session->smb2_channel.signing_key->blob =
data_blob_talloc(session->smb2_channel.signing_key,
channel_key,