Hi,

On 07/01/2022 13:35, Lev Stipakov wrote:
From: Lev Stipakov <l...@openvpn.net>

This fixes

   error C4703: potentially uninitialized local pointer variable 'b64output' 
used

found by arm64 msvc compiler with SDL enabled.

Not sure why this is not triggered on x86/x64.

Signed-off-by: Lev Stipakov <l...@openvpn.net>
---
  src/openvpn/auth_token.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/openvpn/auth_token.c b/src/openvpn/auth_token.c
index e8875464..ceae68f6 100644
--- a/src/openvpn/auth_token.c
+++ b/src/openvpn/auth_token.c
@@ -259,7 +259,7 @@ generate_auth_token(const struct user_pass *up, struct 
tls_multi *multi)
      ASSERT(buf_write(&token, &timestamp, sizeof(timestamp)));
      ASSERT(buf_write(&token, hmac_output, sizeof(hmac_output)));
- char *b64output;
+    char *b64output = NULL;
      openvpn_base64_encode(BPTR(&token), BLEN(&token), &b64output);

It's impossible to leave b64output uninitialized, but the compiler is probably not smart enough to understand it.

On the other hand, passing uninitialized variables by reference to a function (without checking its return value) and using them later is never a good pattern..

Acked-by: Antonio Quartulli <a...@unstable.cc>


--
Antonio Quartulli


_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to