mqtt: properly handle the message which exceeds maxsize
No binary (build failed)
—
(log yok)
| @@ -613,8 +613,10 @@ static CURLcode mqtt_publish(struct Curl_easy *data) | |
| remaininglength = payloadlen + 2 + topiclen; | |
| encodelen = mqtt_encode_len(encodedbytes, remaininglength); | |
| - | if(MAX_MQTT_MESSAGE_SIZE - remaininglength - 1 < encodelen) |
| - | return CURLE_TOO_LARGE; |
| + | if(MAX_MQTT_MESSAGE_SIZE - remaininglength - 1 < encodelen) { |
| + | result = CURLE_TOO_LARGE; |
| + | goto fail; |
| + | } |
| /* add the control byte and the encoded remaining length */ | |
| pkt = malloc(remaininglength + 1 + encodelen); | |