aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLev Stipakov2018-10-08 21:12:58 +0300
committerGert Doering2018-10-10 20:06:26 +0200
commitd1f0e2cf83c378b4064f316a2127c7a3d7c6ca21 (patch)
tree5b288212859a60711f8671e01d761fb86eadd41a /src
parent00d78cd57fa52aa5a65df1707922791e72313663 (diff)
downloadopenvpn-d1f0e2cf83c378b4064f316a2127c7a3d7c6ca21.zip
openvpn-d1f0e2cf83c378b4064f316a2127c7a3d7c6ca21.tar.gz
interactive.c: fix usage of potentially uninitialized variable
In function netsh_dns_cmd() it is possible to jump on a label and call free() on uninitialized pointer. Move pointer initialization above jump. To fix a few warnings which are treated as errors with SDL enabled, initialize pointers with NULL. Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Selva Nair <selva.nair@gmail.com> Message-Id: <1539022378-24485-1-git-send-email-lstipakov@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17663.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
Diffstat (limited to 'src')
-rw-r--r--src/openvpnserv/interactive.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/openvpnserv/interactive.c b/src/openvpnserv/interactive.c
index 8f92c24..4a571f5 100644
--- a/src/openvpnserv/interactive.c
+++ b/src/openvpnserv/interactive.c
@@ -1015,6 +1015,7 @@ netsh_dns_cmd(const wchar_t *action, const wchar_t *proto, const wchar_t *if_nam
DWORD err = 0;
int timeout = 30000; /* in msec */
wchar_t argv0[MAX_PATH];
+ wchar_t *cmdline = NULL;
if (!addr)
{
@@ -1039,7 +1040,7 @@ netsh_dns_cmd(const wchar_t *action, const wchar_t *proto, const wchar_t *if_nam
/* max cmdline length in wchars -- include room for worst case and some */
size_t ncmdline = wcslen(fmt) + wcslen(if_name) + wcslen(addr) + 32 + 1;
- wchar_t *cmdline = malloc(ncmdline*sizeof(wchar_t));
+ cmdline = malloc(ncmdline*sizeof(wchar_t));
if (!cmdline)
{
err = ERROR_OUTOFMEMORY;
@@ -1350,7 +1351,7 @@ RunOpenvpn(LPVOID p)
{
HANDLE pipe = p;
HANDLE ovpn_pipe, svc_pipe;
- PTOKEN_USER svc_user, ovpn_user;
+ PTOKEN_USER svc_user = NULL, ovpn_user = NULL;
HANDLE svc_token = NULL, imp_token = NULL, pri_token = NULL;
HANDLE stdin_read = NULL, stdin_write = NULL;
HANDLE stdout_write = NULL;
@@ -1403,7 +1404,6 @@ RunOpenvpn(LPVOID p)
goto out;
}
len = 0;
- svc_user = NULL;
while (!GetTokenInformation(svc_token, TokenUser, svc_user, len, &len))
{
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
@@ -1436,7 +1436,6 @@ RunOpenvpn(LPVOID p)
goto out;
}
len = 0;
- ovpn_user = NULL;
while (!GetTokenInformation(imp_token, TokenUser, ovpn_user, len, &len))
{
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)