diff --git a/src/connection/mqtt_client.c b/src/connection/mqtt_client.c index 9ff8ce241..0958389d2 100644 --- a/src/connection/mqtt_client.c +++ b/src/connection/mqtt_client.c @@ -407,6 +407,11 @@ static void task_handle_sub(task_t *task, neu_mqtt_client_t *client) } rc = nng_mqtt_msg_get_suback_return_codes(msg, &n); + if (NULL == rc) { + log(error, "failed to get SUBACK return codes"); + rv = -1; + goto end; + } log(debug, "recv SUBACK return_code:%d", *rc); rv = 0x80 == *rc ? -1 : 0; task->sub->ack = true;