From c18802e2e2c5b156d1b40dab255cea273131a96c Mon Sep 17 00:00:00 2001 From: Selva Nair Date: Sun, 14 May 2017 18:16:36 -0400 Subject: [PATCH] Check for errors in the return value of GetModuleFileNameW() Also replace MAX_PATH by _countof(openvpnpath) as the latter is arguably more robust. Signed-off-by: Selva Nair Acked-by: Gert Doering Message-Id: <1494800196-8144-1-git-send-email-selva.nair@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg14654.html Signed-off-by: Gert Doering --- src/openvpn/win32.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openvpn/win32.c b/src/openvpn/win32.c index b27159730..56c3a1d3f 100644 --- a/src/openvpn/win32.c +++ b/src/openvpn/win32.c @@ -1271,7 +1271,12 @@ win_wfp_block_dns (const NET_IFINDEX index) dmsg (D_LOW, "Tap Luid: %I64d", tapluid.Value); /* Get OpenVPN path. */ - GetModuleFileNameW(NULL, openvpnpath, MAX_PATH); + status = GetModuleFileNameW(NULL, openvpnpath, _countof(openvpnpath)); + if (status == 0 || status == _countof(openvpnpath)) + { + msg(M_WARN|M_ERRNO, "block_dns: failed to get executable path"); + goto err; + } if (FwpmGetAppIdFromFileName0(openvpnpath, &openvpnblob) != ERROR_SUCCESS) goto err; -- 2.47.2