diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index 485b39aade..a787eab720 100644 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -3580,7 +3580,7 @@ static int find_and_retrans(struct mgcp_subchannel *sub, struct mgcp_request *re if (sscanf(req->identifier, "%30d", &seqno) != 1) { seqno = 0; } - for (cur = sub->parent->parent->responses, next = cur->next; cur; cur = next, next = cur->next) { + for (cur = sub->parent->parent->responses, next = cur ? cur->next : NULL; cur; cur = next, next = cur ? cur->next : NULL) { if (now - cur->whensent > RESPONSE_TIMEOUT) { /* Delete this entry */ if (prev)