A small footprint MQTT library
Dependents: STM32F746_iothub_client_sample_mqtt FXOS8700CQ_To_Azure_IoT f767zi_mqtt FXOS8700CQ_To_Azure_IoT ... more
Diff: mqtt_client.c
- Revision:
- 29:7bb0aae34648
- Parent:
- 28:35eea447689a
--- a/mqtt_client.c Mon Jun 11 15:40:18 2018 -0700 +++ b/mqtt_client.c Tue Sep 11 11:14:10 2018 -0700 @@ -586,11 +586,15 @@ MQTT_CLIENT* mqtt_client = (MQTT_CLIENT*)context; if ((mqtt_client != NULL && headerData != NULL) || packet == PINGRESP_TYPE) { - size_t len = BUFFER_length(headerData); - uint8_t* iterator = BUFFER_u_char(headerData); + size_t len = 0; + uint8_t* iterator = NULL; + if (headerData != NULL) + { + len = BUFFER_length(headerData); + iterator = BUFFER_u_char(headerData); + } logIncomingRawTrace(mqtt_client, packet, (uint8_t)flags, iterator, len); - if ((iterator != NULL && len > 0) || packet == PINGRESP_TYPE) { switch (packet) @@ -865,17 +869,24 @@ break; } case PINGRESP_TYPE: - mqtt_client->timeSincePing = 0; - if (mqtt_client->logTrace) + if (mqtt_client != NULL) { - STRING_HANDLE trace_log = STRING_construct_sprintf("PINGRESP"); - log_incoming_trace(mqtt_client, trace_log); - STRING_delete(trace_log); + mqtt_client->timeSincePing = 0; + if (mqtt_client->logTrace) + { + STRING_HANDLE trace_log = STRING_construct_sprintf("PINGRESP"); + log_incoming_trace(mqtt_client, trace_log); + STRING_delete(trace_log); + } + // Forward ping response to operation callback + if (mqtt_client->fnOperationCallback) + { + mqtt_client->fnOperationCallback(mqtt_client, MQTT_CLIENT_ON_PING_RESPONSE, NULL, mqtt_client->ctx); + } } - // Forward ping response to operation callback - if (mqtt_client->fnOperationCallback) + else { - mqtt_client->fnOperationCallback(mqtt_client, MQTT_CLIENT_ON_PING_RESPONSE, NULL, mqtt_client->ctx); + LOG(AZ_LOG_ERROR, LOG_LINE, "MQTT client value NULL"); } break; default: