malloc: fix realloc padded element size
[dpdk.git] / lib / librte_eal / common / malloc_elem.c
index 658c9b5..afacb18 100644 (file)
@@ -307,6 +307,11 @@ split_elem(struct malloc_elem *elem, struct malloc_elem *split_pt)
        elem->next = split_pt;
        elem->size = old_elem_size;
        set_trailer(elem);
+       if (elem->pad) {
+               /* Update inner padding inner element size. */
+               elem = RTE_PTR_ADD(elem, elem->pad);
+               elem->size = old_elem_size - elem->pad;
+       }
 }
 
 /*