Index: trunk/src/obj_padstack.c =================================================================== --- trunk/src/obj_padstack.c (revision 12399) +++ trunk/src/obj_padstack.c (revision 12400) @@ -59,6 +59,7 @@ void pcb_padstack_free(pcb_padstack_t *ps) { padstacklist_remove(ps); + free(ps->thermal.shape); free(ps); } Index: trunk/src/obj_padstack_op.c =================================================================== --- trunk/src/obj_padstack_op.c (revision 12399) +++ trunk/src/obj_padstack_op.c (revision 12400) @@ -133,8 +133,7 @@ void *pcb_padstackop_destroy(pcb_opctx_t *ctx, pcb_padstack_t *ps) { pcb_r_delete_entry(ctx->remove.destroy_target->padstack_tree, (pcb_box_t *)ps); - free(ps->thermal.shape); - pcb_via_free(ps); + pcb_padstack_free(ps); return NULL; }