@@ -6667,18 +6667,17 @@ static int DoUnimplemented(WOLFSSH* ssh,
66676667{
66686668 word32 seq;
66696669 word32 begin = *idx;
6670+ int ret;
66706671
66716672 WOLFSSH_UNUSED(ssh);
6672- WOLFSSH_UNUSED(len);
6673-
6674- ato32(buf + begin, &seq);
6675- begin += UINT32_SZ;
66766673
6677- WLOG(WS_LOG_DEBUG, "UNIMPLEMENTED: seq %u", seq);
6678-
6679- *idx = begin;
6674+ ret = GetUint32(&seq, buf, len, &begin);
6675+ if (ret == WS_SUCCESS) {
6676+ *idx = begin;
6677+ WLOG(WS_LOG_DEBUG, "UNIMPLEMENTED: seq %u", seq);
6678+ }
66806679
6681- return WS_SUCCESS ;
6680+ return ret ;
66826681}
66836682
66846683
@@ -6687,54 +6686,54 @@ static int DoDisconnect(WOLFSSH* ssh, byte* buf, word32 len, word32* idx)
66876686 word32 reason;
66886687 const char* reasonStr = NULL;
66896688 word32 begin = *idx;
6689+ int ret;
66906690
6691- WOLFSSH_UNUSED(len);
66926691 WOLFSSH_UNUSED(reasonStr);
66936692
6694- ato32(buf + begin, &reason);
6695- begin += UINT32_SZ;
6693+ ret = GetUint32(&reason, buf, len, &begin);
6694+ if (ret == WS_SUCCESS) {
6695+ *idx = begin;
66966696
66976697#ifdef NO_WOLFSSH_STRINGS
6698- WLOG(WS_LOG_DEBUG, "DISCONNECT: (%u)", reason);
6698+ WLOG(WS_LOG_DEBUG, "DISCONNECT: (%u)", reason);
66996699#elif defined(DEBUG_WOLFSSH)
6700- switch (reason) {
6701- case WOLFSSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT:
6702- reasonStr = "host not allowed to connect"; break;
6703- case WOLFSSH_DISCONNECT_PROTOCOL_ERROR:
6704- reasonStr = "protocol error"; break;
6705- case WOLFSSH_DISCONNECT_KEY_EXCHANGE_FAILED:
6706- reasonStr = "key exchange failed"; break;
6707- case WOLFSSH_DISCONNECT_RESERVED:
6708- reasonStr = "reserved"; break;
6709- case WOLFSSH_DISCONNECT_MAC_ERROR:
6710- reasonStr = "mac error"; break;
6711- case WOLFSSH_DISCONNECT_COMPRESSION_ERROR:
6712- reasonStr = "compression error"; break;
6713- case WOLFSSH_DISCONNECT_SERVICE_NOT_AVAILABLE:
6714- reasonStr = "service not available"; break;
6715- case WOLFSSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED:
6716- reasonStr = "protocol version not supported"; break;
6717- case WOLFSSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE:
6718- reasonStr = "host key not verifiable"; break;
6719- case WOLFSSH_DISCONNECT_CONNECTION_LOST:
6720- reasonStr = "connection lost"; break;
6721- case WOLFSSH_DISCONNECT_BY_APPLICATION:
6722- reasonStr = "disconnect by application"; break;
6723- case WOLFSSH_DISCONNECT_TOO_MANY_CONNECTIONS:
6724- reasonStr = "too many connections"; break;
6725- case WOLFSSH_DISCONNECT_AUTH_CANCELLED_BY_USER:
6726- reasonStr = "auth cancelled by user"; break;
6727- case WOLFSSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE:
6728- reasonStr = "no more auth methods available"; break;
6729- case WOLFSSH_DISCONNECT_ILLEGAL_USER_NAME:
6730- reasonStr = "illegal user name"; break;
6731- default:
6732- reasonStr = "unknown reason";
6733- }
6734- WLOG(WS_LOG_DEBUG, "DISCONNECT: (%u) %s", reason, reasonStr);
6700+ switch (reason) {
6701+ case WOLFSSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT:
6702+ reasonStr = "host not allowed to connect"; break;
6703+ case WOLFSSH_DISCONNECT_PROTOCOL_ERROR:
6704+ reasonStr = "protocol error"; break;
6705+ case WOLFSSH_DISCONNECT_KEY_EXCHANGE_FAILED:
6706+ reasonStr = "key exchange failed"; break;
6707+ case WOLFSSH_DISCONNECT_RESERVED:
6708+ reasonStr = "reserved"; break;
6709+ case WOLFSSH_DISCONNECT_MAC_ERROR:
6710+ reasonStr = "mac error"; break;
6711+ case WOLFSSH_DISCONNECT_COMPRESSION_ERROR:
6712+ reasonStr = "compression error"; break;
6713+ case WOLFSSH_DISCONNECT_SERVICE_NOT_AVAILABLE:
6714+ reasonStr = "service not available"; break;
6715+ case WOLFSSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED:
6716+ reasonStr = "protocol version not supported"; break;
6717+ case WOLFSSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE:
6718+ reasonStr = "host key not verifiable"; break;
6719+ case WOLFSSH_DISCONNECT_CONNECTION_LOST:
6720+ reasonStr = "connection lost"; break;
6721+ case WOLFSSH_DISCONNECT_BY_APPLICATION:
6722+ reasonStr = "disconnect by application"; break;
6723+ case WOLFSSH_DISCONNECT_TOO_MANY_CONNECTIONS:
6724+ reasonStr = "too many connections"; break;
6725+ case WOLFSSH_DISCONNECT_AUTH_CANCELLED_BY_USER:
6726+ reasonStr = "auth cancelled by user"; break;
6727+ case WOLFSSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE:
6728+ reasonStr = "no more auth methods available"; break;
6729+ case WOLFSSH_DISCONNECT_ILLEGAL_USER_NAME:
6730+ reasonStr = "illegal user name"; break;
6731+ default:
6732+ reasonStr = "unknown reason";
6733+ }
6734+ WLOG(WS_LOG_DEBUG, "DISCONNECT: (%u) %s", reason, reasonStr);
67356735#endif
6736-
6737- *idx = begin;
6736+ }
67386737
67396738 ssh->error = WS_DISCONNECT;
67406739 return WS_DISCONNECT;
0 commit comments