diff --git a/apps/app_queue.c b/apps/app_queue.c index 9c973e082c..ac12f89e37 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3773,6 +3773,7 @@ static int queue_function_queuememberlist(struct ast_channel *chan, char *cmd, c buflen += strlen(m->interface); /* Safeguard against overflow (negative length) */ if (buflen >= len - 2) { + ao2_ref(m, -1); ast_log(LOG_WARNING, "Truncating list\n"); break; } @@ -4520,6 +4521,7 @@ static char *complete_queue_remove_member(const char *line, const char *word, in ao2_ref(m, -1); return tmp; } + ao2_ref(m, -1); } ast_mutex_unlock(&q->lock); }