diff --git a/mm/mempool/mempool_multiple.c b/mm/mempool/mempool_multiple.c index a53faa06ecd19..75a0aa6a5873e 100644 --- a/mm/mempool/mempool_multiple.c +++ b/mm/mempool/mempool_multiple.c @@ -596,6 +596,11 @@ FAR void *mempool_multiple_realloc(FAR struct mempool_multiple_s *mpool, return NULL; } + if (size > 0 && mempool_multiple_find(mpool, size) == dict->pool) + { + return oldblk; + } + blk = mempool_multiple_alloc(mpool, size); if (blk != NULL && oldblk != NULL) {