From d0aad2be694770be7119fd1d09e3cee0eba67218 Mon Sep 17 00:00:00 2001 From: Yosuke Shimizu Date: Tue, 24 Mar 2026 11:00:33 +0900 Subject: [PATCH] Fix f_405 --- apps/wolfsshd/auth.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/wolfsshd/auth.c b/apps/wolfsshd/auth.c index 8fba01e9..8a7eaebe 100644 --- a/apps/wolfsshd/auth.c +++ b/apps/wolfsshd/auth.c @@ -787,9 +787,9 @@ static int CheckPasswordWIN(const char* usr, const byte* pw, word32 pwSz, WOLFSS ret = WSSHD_AUTH_SUCCESS; - usrWSz = WSTRLEN(usr) * sizeof(WCHAR); + usrWSz = WSTRLEN(usr); - usrW = (WCHAR*)WMALLOC((usrWSz * sizeof(WCHAR)) + sizeof(WCHAR), authCtx->heap, DYNTYPE_SSHD); + usrW = (WCHAR*)WMALLOC((usrWSz + 1) * sizeof(WCHAR), authCtx->heap, DYNTYPE_SSHD); if (usrW == NULL) { wolfSSH_Log(WS_LOG_ERROR, "[SSHD] Ran out of memory"); ret = WSSHD_AUTH_FAILURE; @@ -797,7 +797,7 @@ static int CheckPasswordWIN(const char* usr, const byte* pw, word32 pwSz, WOLFSS if (ret == WSSHD_AUTH_SUCCESS) { size_t wr = 0; - if (mbstowcs_s(&wr, usrW, usrWSz, usr, usrWSz-1) != 0) { + if (mbstowcs_s(&wr, usrW, usrWSz + 1, usr, usrWSz) != 0) { ret = WSSHD_AUTH_FAILURE; } }