]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
mqtt: fix Curl_read() error handling while reading remaining length
authorDaniel Stenberg <daniel@haxx.se>
Mon, 20 Apr 2020 15:03:18 +0000 (17:03 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 20 Apr 2020 20:34:44 +0000 (22:34 +0200)
Detected by Coverity. CID 1462320.

Closes #5274

lib/mqtt.c

index 35c1b3e8333846532c81b51c3af911fba67c0aae..44433361b35b63c6cbc650ddd81444f4a26ea36f 100644 (file)
@@ -569,6 +569,8 @@ static CURLcode mqtt_doing(struct connectdata *conn, bool *done)
         Curl_debug(data, CURLINFO_HEADER_IN, (char *)&byte, 1);
       pkt[mq->npacket++] = byte;
     } while((byte & 0x80) && (mq->npacket < 4));
+    if(result)
+      break;
     mq->remaining_length = mqtt_decode_len(&pkt[0], mq->npacket, NULL);
     mq->npacket = 0;
     if(mq->remaining_length) {