Fix memory management in serverKeyboardCallback for empty prompts

Co-Authored-By: andrew@wolfssl.com <andrew@wolfssl.com>
pull/803/head
Devin AI 2025-05-14 10:41:12 +00:00
parent 63db9f162f
commit c5c52eecb1
1 changed files with 11 additions and 1 deletions

View File

@ -280,7 +280,17 @@ static int serverUserAuth(byte authType, WS_UserAuthData* authData, void* ctx)
static int serverKeyboardCallback(WS_UserAuthData_Keyboard *kbAuth, void *ctx)
{
(void) ctx;
WMEMCPY(kbAuth, &promptData, sizeof(WS_UserAuthData_Keyboard));
/* Copy individual fields instead of the entire structure to avoid memory issues */
kbAuth->promptCount = promptData.promptCount;
kbAuth->promptName = promptData.promptName;
kbAuth->promptNameSz = promptData.promptNameSz;
kbAuth->promptInstruction = promptData.promptInstruction;
kbAuth->promptInstructionSz = promptData.promptInstructionSz;
kbAuth->promptLanguage = promptData.promptLanguage;
kbAuth->promptLanguageSz = promptData.promptLanguageSz;
kbAuth->prompts = promptData.prompts;
kbAuth->promptLengths = promptData.promptLengths;
kbAuth->promptEcho = promptData.promptEcho;
return WS_SUCCESS;
}