From 649a523b35105b4630ab38eff94ce4b159a21070 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Wed, 22 Jul 2020 10:37:57 -0600 Subject: [PATCH] sanity check for file name size and typo fix from review --- src/wolfscp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/wolfscp.c b/src/wolfscp.c index e25e652..83f998f 100644 --- a/src/wolfscp.c +++ b/src/wolfscp.c @@ -2512,7 +2512,13 @@ int wsScpRecvCallback(WOLFSSH* ssh, int state, const char* basePath, case WOLFSSH_SCP_NEW_FILE: /* create file */ - WMEMCPY(recvBuffer->name, fileName, WSTRLEN(fileName)); + sz = (int)WSTRLEN(fileName); + if (sz >= DEFAULT_SCP_FILE_NAME_SZ) { + wolfSSH_SetScpErrorMsg(ssh, "file name is too large"); + ret = WS_SCP_ABORT; + break; + } + WMEMCPY(recvBuffer->name, fileName, sz); recvBuffer->mTime = mTime; recvBuffer->mode = fileMode; break; @@ -2632,7 +2638,7 @@ int wsScpSendCallback(WOLFSSH* ssh, int state, const char* peerRequest, return ret; } -#endif /* NO_FILESYSTME */ +#endif /* NO_FILESYSTEM */ #endif /* WOLFSSH_SCP_USER_CALLBACKS */ #endif /* WOLFSSH_SCP */