From dbb3b3a3a12f7006b810e8aef3a430ecb7919dfb Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Wed, 22 Mar 2017 22:06:21 +0100 Subject: [PATCH] Possible null-pointer dereference The value should be dereferenced after assertion is performed. This can lead to crash (cherry picked from commit 7eba14cb76a131f262c2a760df4bb9402f315a64) --- src/apps/mqtt/mqtt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/apps/mqtt/mqtt.c b/src/apps/mqtt/mqtt.c index a0e77b97..899e2cbf 100644 --- a/src/apps/mqtt/mqtt.c +++ b/src/apps/mqtt/mqtt.c @@ -360,8 +360,9 @@ mqtt_take_request(struct mqtt_request_t **tail, u16_t pkt_id) static void mqtt_request_time_elapsed(struct mqtt_request_t **tail, u8_t t) { - struct mqtt_request_t *r = *tail; + struct mqtt_request_t *r; LWIP_ASSERT("mqtt_request_time_elapsed: tail != NULL", tail != NULL); + r = *tail; while (t > 0 && r != NULL) { if (t >= r->timeout_diff) { t -= (u8_t)r->timeout_diff;