@@ -7746,11 +7746,11 @@ int wolfSSH_SFTP_SendReadPacket(WOLFSSH* ssh, byte* handle, word32 handleSz,
77467746 /* Get response */
77477747 if ((ret = SFTP_GetHeader (ssh , & state -> reqId , & state -> type ,
77487748 & state -> buffer )) <= 0 ) {
7749- if (!NoticeError (ssh )) {
7750- state -> state = STATE_SEND_READ_CLEANUP ;
7751- continue ;
7749+ if (NoticeError (ssh )) {
7750+ return WS_FATAL_ERROR ;
77527751 }
7753- return WS_FATAL_ERROR ;
7752+ state -> state = STATE_SEND_READ_CLEANUP ;
7753+ continue ;
77547754 }
77557755 ret = wolfSSH_SFTP_buffer_create (ssh , & state -> buffer , ret );
77567756 if (ret != WS_SUCCESS ) {
@@ -7789,11 +7789,11 @@ int wolfSSH_SFTP_SendReadPacket(WOLFSSH* ssh, byte* handle, word32 handleSz,
77897789 /* get size of string and place it into out buffer */
77907790 ret = wolfSSH_stream_read (ssh , szFlat , UINT32_SZ );
77917791 if (ret < 0 ) {
7792- if (!NoticeError (ssh )) {
7793- state -> state = STATE_SEND_READ_CLEANUP ;
7794- continue ;
7792+ if (NoticeError (ssh )) {
7793+ return WS_FATAL_ERROR ;
77957794 }
7796- return ret ;
7795+ state -> state = STATE_SEND_READ_CLEANUP ;
7796+ continue ;
77977797 }
77987798 ato32 (szFlat , & sz );
77997799 wolfSSH_SFTP_buffer_create (ssh , & state -> buffer , sz );
@@ -7814,8 +7814,7 @@ int wolfSSH_SFTP_SendReadPacket(WOLFSSH* ssh, byte* handle, word32 handleSz,
78147814 out + state -> recvSz ,
78157815 wolfSSH_SFTP_buffer_size (& state -> buffer ));
78167816 if (ret < 0 ) {
7817- if (ssh -> error == WS_WANT_READ ||
7818- ssh -> error == WS_WANT_WRITE ) {
7817+ if (NoticeError (ssh )) {
78197818 return WS_FATAL_ERROR ;
78207819 }
78217820 WLOG (WS_LOG_SFTP , "Error reading remainder of data" );
@@ -7852,12 +7851,11 @@ int wolfSSH_SFTP_SendReadPacket(WOLFSSH* ssh, byte* handle, word32 handleSz,
78527851 ret = wolfSSH_SFTP_buffer_read (ssh , & state -> buffer ,
78537852 wolfSSH_SFTP_buffer_size (& state -> buffer ));
78547853 if (ret < 0 ) {
7855- if (ssh -> error != WS_WANT_READ &&
7856- ssh -> error != WS_WANT_WRITE ) {
7857- state -> state = STATE_SEND_READ_CLEANUP ;
7858- continue ;
7854+ if (NoticeError (ssh )) {
7855+ return WS_FATAL_ERROR ;
78597856 }
7860- return WS_FATAL_ERROR ;
7857+ state -> state = STATE_SEND_READ_CLEANUP ;
7858+ continue ;
78617859 }
78627860 wolfSSH_SFTP_buffer_rewind (& state -> buffer );
78637861 ret = wolfSSH_SFTP_DoStatus (ssh ,
0 commit comments