diff --git a/lib/roles/mqtt/client/client-mqtt.c b/lib/roles/mqtt/client/client-mqtt.c index a871bfefc..f6c2a374a 100644 --- a/lib/roles/mqtt/client/client-mqtt.c +++ b/lib/roles/mqtt/client/client-mqtt.c @@ -81,7 +81,11 @@ lws_mqtt_generate_id(struct lws* wsi, lws_mqtt_str_t **ms, const char *client_id buf[len] = '\0'; } - lws_mqtt_str_advance(*ms, (uint16_t)len); + if (lws_mqtt_str_advance(*ms, (uint16_t)len)) { + lws_mqtt_str_free(ms); + + return 1; + } return 0; }