add error out when receiving a file larger than the buffer

pull/271/head
Jacob Barthelmeh 2020-08-26 15:14:54 -06:00
parent 04511bafa6
commit 76bdcd9438
1 changed files with 9 additions and 0 deletions

View File

@ -2537,6 +2537,15 @@ int wsScpRecvCallback(WOLFSSH* ssh, int state, const char* basePath,
/* read file, or file part */
sz = (bufSz < recvBuffer->bufferSz - recvBuffer->idx) ?
bufSz : recvBuffer->bufferSz - recvBuffer->idx;
if (recvBuffer->idx >= recvBuffer->bufferSz) {
wolfSSH_SetScpErrorMsg(ssh,
"buffer is not large enough for file");
WLOG(WS_LOG_DEBUG, scpState, "SCP buffer too small for file");
ret = WS_SCP_ABORT;
break;
}
WMEMCPY(recvBuffer->buffer + recvBuffer->idx, buf, sz);
recvBuffer->idx += sz;
recvBuffer->fileSz += sz;