fix check on file size

pull/271/head
Jacob Barthelmeh 2020-07-28 17:04:09 -06:00
parent 9a83d7998a
commit c2a2c03095
1 changed files with 10 additions and 6 deletions

View File

@ -2613,18 +2613,18 @@ int wsScpSendCallback(WOLFSSH* ssh, int state, const char* peerRequest,
ret = WS_SCP_ABORT;
break;
}
*totalFileSz = sendBuffer->bufferSz;
*totalFileSz = sendBuffer->fileSz;
*mTime = sendBuffer->mTime;
*aTime = sendBuffer->mTime;
*fileMode = sendBuffer->mode;
/* copy over buffer info */
if (sendBuffer->idx >= sendBuffer->bufferSz) {
ret = (bufSz < (sendBuffer->fileSz - sendBuffer->idx))?
bufSz : sendBuffer->fileSz - sendBuffer->idx;
if (sendBuffer->idx + ret >= sendBuffer->bufferSz) {
ret = WS_SCP_ABORT;
break;
}
ret = (bufSz < (sendBuffer->bufferSz - sendBuffer->idx))?
bufSz : sendBuffer->bufferSz - sendBuffer->idx;
WMEMCPY(buf, sendBuffer->buffer + sendBuffer->idx, ret);
sendBuffer->idx += ret;
@ -2642,9 +2642,13 @@ int wsScpSendCallback(WOLFSSH* ssh, int state, const char* peerRequest,
ret = WS_SCP_ABORT;
break;
}
ret = (bufSz < (sendBuffer->bufferSz - sendBuffer->idx))?
bufSz : sendBuffer->bufferSz - sendBuffer->idx;
ret = (bufSz < (sendBuffer->fileSz - sendBuffer->idx))?
bufSz : sendBuffer->fileSz - sendBuffer->idx;
if (ret > 0) {
if (sendBuffer->idx + ret >= sendBuffer->bufferSz) {
ret = WS_SCP_ABORT;
break;
}
WMEMCPY(buf, sendBuffer->buffer + sendBuffer->idx, ret);
sendBuffer->idx += ret;
}