@@ -999,7 +999,7 @@ static esp_err_t esp_mqtt_dispatch_event(esp_mqtt_client_handle_t client)
999999 client -> event .protocol_ver = client -> mqtt_state .connection .information .protocol_ver ;
10001000 esp_err_t ret = ESP_FAIL ;
10011001
1002- #ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP
1002+ #ifdef MQTT_SUPPORTED_FEATURE_EVENT_LOOP
10031003 esp_event_post_to (client -> config -> event_loop_handle , MQTT_EVENTS , client -> event .event_id , & client -> event , sizeof (client -> event ), portMAX_DELAY );
10041004 ret = esp_event_loop_run (client -> config -> event_loop_handle , 0 );
10051005#else
@@ -1149,16 +1149,16 @@ static outbox_item_handle_t mqtt_enqueue(esp_mqtt_client_handle_t client, uint8_
11491149{
11501150 ESP_LOGD (TAG , "mqtt_enqueue id: %d, type=%d successful" ,
11511151 client -> mqtt_state .pending_msg_id , client -> mqtt_state .pending_msg_type );
1152- outbox_message_t msg = { 0 };
1153- msg .data = client -> mqtt_state .connection .outbound_message .data ;
1154- msg .len = client -> mqtt_state .connection .outbound_message .length ;
1155- msg .msg_id = client -> mqtt_state .pending_msg_id ;
1156- msg .msg_type = client -> mqtt_state .pending_msg_type ;
1157- msg .msg_qos = client -> mqtt_state .pending_publish_qos ;
1158- msg .remaining_data = remaining_data ;
1159- msg .remaining_len = remaining_len ;
1160- //Copy to queue buffer
1161- return outbox_enqueue (client -> outbox , & msg , platform_tick_get_ms ());
1152+ outbox_message_t msg = { 0 };
1153+ msg .data = client -> mqtt_state .connection .outbound_message .data ;
1154+ msg .len = client -> mqtt_state .connection .outbound_message .length ;
1155+ msg .msg_id = client -> mqtt_state .pending_msg_id ;
1156+ msg .msg_type = client -> mqtt_state .pending_msg_type ;
1157+ msg .msg_qos = client -> mqtt_state .pending_publish_qos ;
1158+ msg .remaining_data = remaining_data ;
1159+ msg .remaining_len = remaining_len ;
1160+ //Copy to queue buffer
1161+ return outbox_enqueue (client -> outbox , & msg , platform_tick_get_ms ());
11621162}
11631163
11641164
@@ -1830,7 +1830,7 @@ int esp_mqtt_client_subscribe_multiple(esp_mqtt_client_handle_t client,
18301830 }
18311831
18321832 if (client -> config -> outbox_limit > 0 && outbox_get_size (client -> outbox ) > client -> config -> outbox_limit ) {
1833- return -2 ;
1833+ return -2 ;
18341834 }
18351835 MQTT_API_LOCK (client );
18361836 if (client -> state != MQTT_STATE_CONNECTED ) {
@@ -1976,6 +1976,9 @@ static inline int mqtt_client_enqueue_publish(esp_mqtt_client_handle_t client, c
19761976 int len , int qos , int retain , bool store )
19771977{
19781978 int pending_msg_id = make_publish (client , topic , data , len , qos , retain );
1979+ if (pending_msg_id < 0 ) {
1980+ return -1 ;
1981+ }
19791982 /* We have to set as pending all the qos>0 messages */
19801983 //TODO: client->mqtt_state.outbound_message = publish_msg;
19811984 if (qos > 0 || store ) {
0 commit comments