Skip to content

Commit 4cc1aa5

Browse files
Fix endless loop in keyboard-interactive auth test
Co-Authored-By: andrew@wolfssl.com <andrew@wolfssl.com>
1 parent 45b6ef7 commit 4cc1aa5

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

tests/auth.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,17 @@ static int serverUserAuth(byte authType, WS_UserAuthData* authData, void* ctx)
229229
if (authType == WOLFSSH_USERAUTH_KEYBOARD) {
230230
/* If responseCount is 0, this is a prompt setup call */
231231
if (authData->sf.keyboard.responseCount == 0) {
232-
/* Set up prompts */
233-
WMEMCPY(&authData->sf.keyboard, &promptData, sizeof(WS_UserAuthData_Keyboard));
232+
/* Set up prompts - only copy the necessary fields, not the entire structure */
233+
authData->sf.keyboard.promptCount = promptData.promptCount;
234+
authData->sf.keyboard.promptName = promptData.promptName;
235+
authData->sf.keyboard.promptNameSz = promptData.promptNameSz;
236+
authData->sf.keyboard.promptInstruction = promptData.promptInstruction;
237+
authData->sf.keyboard.promptInstructionSz = promptData.promptInstructionSz;
238+
authData->sf.keyboard.promptLanguage = promptData.promptLanguage;
239+
authData->sf.keyboard.promptLanguageSz = promptData.promptLanguageSz;
240+
authData->sf.keyboard.prompts = promptData.prompts;
241+
authData->sf.keyboard.promptLengths = promptData.promptLengths;
242+
authData->sf.keyboard.promptEcho = promptData.promptEcho;
234243

235244
/* Return SUCCESS_ANOTHER to proceed with sending prompts */
236245
if (useUserAuthCb) {
@@ -668,3 +677,5 @@ int main(int argc, char** argv)
668677
return wolfSSH_AuthTest(argc, argv);
669678
}
670679
#endif
680+
681+

0 commit comments

Comments
 (0)