From 3693060ee654f3b7fae6aa618354be98a5c761f9 Mon Sep 17 00:00:00 2001 From: backwardsEric Date: Mon, 11 Nov 2019 16:25:26 -0800 Subject: [PATCH] Plugged leak of the known version of object in object_absorb(). --- src/obj-pile.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/obj-pile.c b/src/obj-pile.c index 84b12e85..909bdc25 100644 --- a/src/obj-pile.c +++ b/src/obj-pile.c @@ -599,12 +599,20 @@ void object_absorb_partial(struct object *obj1, struct object *obj2) */ void object_absorb(struct object *obj1, struct object *obj2) { + struct object *known = obj2->known; int total = obj1->number + obj2->number; /* Add together the item counts */ obj1->number = MIN(total, obj1->kind->base->max_stack); object_absorb_merge(obj1, obj2); + if (known) { + if (!loc_is_zero(known->grid)) { + square_excise_object(player->cave, known->grid, known); + } + delist_object(player->cave, known); + object_delete(&known); + } object_delete(&obj2); } -- 2.21.0 (Apple Git-122.2)