diff --git a/src/cm_mes/mes_msg_pool.c b/src/cm_mes/mes_msg_pool.c index 84ae244af1c54d9453567175db720ff7ffb9fc61..36355726227eafeaef9a963320ab30a100a7ae23 100644 --- a/src/cm_mes/mes_msg_pool.c +++ b/src/cm_mes/mes_msg_pool.c @@ -296,7 +296,7 @@ char *mes_alloc_buf_item_fc(uint32 len) do { queue = mes_get_buffer_queue(chunk); cm_spin_lock(&queue->lock, NULL); - if (count / queue->count <= RECV_MSG_POOL_FC_THRESHOLD) { + if (queue->count > 0 && count / queue->count <= RECV_MSG_POOL_FC_THRESHOLD) { buf_node = queue->first; queue->count--; if (queue->count == 0) {