File tree 1 file changed +6
-2
lines changed
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -287,7 +287,7 @@ void ArduinoOTAClass::_runUpdate() {
287
287
if (!waited){
288
288
if (written && tried++ < 3 ){
289
289
log_i (" Try[%u]: %u" , tried, written);
290
- if (!client.printf (" %u " , written)){
290
+ if (!client.printf (" %lu " , written)){
291
291
log_e (" failed to respond" );
292
292
_state = OTA_IDLE;
293
293
break ;
@@ -315,14 +315,18 @@ void ArduinoOTAClass::_runUpdate() {
315
315
size_t r = client.read (buf, available);
316
316
if (r != available){
317
317
log_w (" didn't read enough! %u != %u" , r, available);
318
+ if ((int32_t ) r<0 ) {
319
+ delay (1 );
320
+ continue ; // let's not try to write 4 gigabytes when client.read returns -1
321
+ }
318
322
}
319
323
320
324
written = Update.write (buf, r);
321
325
if (written > 0 ) {
322
326
if (written != r){
323
327
log_w (" didn't write enough! %u != %u" , written, r);
324
328
}
325
- if (!client.printf (" %u " , written)){
329
+ if (!client.printf (" %lu " , written)){
326
330
log_w (" failed to respond" );
327
331
}
328
332
total += written;
You can’t perform that action at this time.
0 commit comments