diff --git a/libraries/ArduinoOTA/ArduinoOTA.cpp b/libraries/ArduinoOTA/ArduinoOTA.cpp index aaf4c5ff53..3c6acd943d 100644 --- a/libraries/ArduinoOTA/ArduinoOTA.cpp +++ b/libraries/ArduinoOTA/ArduinoOTA.cpp @@ -143,10 +143,10 @@ void ArduinoOTAClass::begin() { int ArduinoOTAClass::parseInt(){ char data[16]; - uint8_t index = 0; + uint8_t index; char value; while(_udp_ota->peek() == ' ') _udp_ota->read(); - while(true){ + for(index = 0; index < sizeof(data); ++index){ value = _udp_ota->peek(); if(value < '0' || value > '9'){ data[index++] = '\0'; @@ -159,13 +159,13 @@ int ArduinoOTAClass::parseInt(){ String ArduinoOTAClass::readStringUntil(char end){ String res = ""; - char value; + int value; while(true){ value = _udp_ota->read(); - if(value == '\0' || value == end){ + if(value < 0 || value == '\0' || value == end){ return res; } - res += value; + res += static_cast(value); } return res; }