mirror of https://github.com/wolfSSL/wolfssh.git
add error out when receiving a file larger than the buffer
parent
04511bafa6
commit
76bdcd9438
|
@ -2537,6 +2537,15 @@ int wsScpRecvCallback(WOLFSSH* ssh, int state, const char* basePath,
|
||||||
/* read file, or file part */
|
/* read file, or file part */
|
||||||
sz = (bufSz < recvBuffer->bufferSz - recvBuffer->idx) ?
|
sz = (bufSz < recvBuffer->bufferSz - recvBuffer->idx) ?
|
||||||
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);
|
WMEMCPY(recvBuffer->buffer + recvBuffer->idx, buf, sz);
|
||||||
recvBuffer->idx += sz;
|
recvBuffer->idx += sz;
|
||||||
recvBuffer->fileSz += sz;
|
recvBuffer->fileSz += sz;
|
||||||
|
|
Loading…
Reference in New Issue