From 1416a693e71d53186d038ce3c56480dd30446181 Mon Sep 17 00:00:00 2001 From: Georgy Komarov Date: Fri, 27 Mar 2020 07:25:45 +0300 Subject: [PATCH 1/2] protocol: fix uninitialized variable Value of server_cert is undefined if `b = PackGetBuf(p, "Cert");` was failed. --- src/Cedar/Protocol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Cedar/Protocol.c b/src/Cedar/Protocol.c index 773ef9a4..22907a36 100644 --- a/src/Cedar/Protocol.c +++ b/src/Cedar/Protocol.c @@ -4621,7 +4621,7 @@ REDIRECTED: UINT use_port = 0; UINT current_port = c->ServerPort; UCHAR ticket[SHA1_SIZE]; - X *server_cert; + X *server_cert = NULL; BUF *b; // Redirect mode From 4772a508dcfa57a7f5a5632354cc1659fd7bd69b Mon Sep 17 00:00:00 2001 From: Georgy Komarov Date: Fri, 27 Mar 2020 07:28:43 +0300 Subject: [PATCH 2/2] sam: fix using pointer to local variable that is out of scope --- src/Cedar/Sam.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Cedar/Sam.c b/src/Cedar/Sam.c index 49eeb575..3836dc5e 100644 --- a/src/Cedar/Sam.c +++ b/src/Cedar/Sam.c @@ -114,7 +114,10 @@ bool SmbAuthenticate(char* name, char* password, char* domainname, char* groupna char buffer[255]; char ntlm_timeout[32]; char* proc_parameter[6]; - + + // DNS Name 255 chars + OU names are limited to 64 characters + cmdline 32 + 1 + char requiremember[352]; + if (name == NULL || password == NULL || domainname == NULL || groupname == NULL) { Debug("Sam.c - SmbAuthenticate - wrong password parameter\n"); @@ -156,14 +159,11 @@ bool SmbAuthenticate(char* name, char* password, char* domainname, char* groupna if (strlen(groupname) > 1) { - // DNS Name 255 chars + OU names are limited to 64 characters + cmdline 32 + 1 - char requiremember[352]; - // Truncate string if unsafe char EnSafeStr(groupname, '\0'); snprintf(requiremember, sizeof(requiremember), "--require-membership-of=%s\\%s", domainname, groupname); - + proc_parameter[4] = requiremember; proc_parameter[5] = 0; }