From cac4344754815a2eabb048c8122ee2d3059406bb Mon Sep 17 00:00:00 2001 From: PatR Date: Mon, 25 Sep 2017 17:17:06 -0700 Subject: [PATCH] doname() bookkeeping doname() for a corpse was using two obufs instead of just one. --- src/objnam.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/objnam.c b/src/objnam.c index ec7c0e70e..5daead647 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -1106,8 +1106,11 @@ unsigned doname_flags; "corpse" is already in the buffer returned by xname() */ unsigned cxarg = (((obj->quan != 1L) ? 0 : CXN_ARTICLE) | CXN_NOCORPSE); + char *cxstr = corpse_xname(obj, prefix, cxarg); - Sprintf(prefix, "%s ", corpse_xname(obj, prefix, cxarg)); + Sprintf(prefix, "%s ", cxstr); + /* avoid having doname(corpse) consume an extra obuf */ + releaseobuf(cxstr); } else if (obj->otyp == EGG) { #if 0 /* corpses don't tell if they're stale either */ if (known && stale_egg(obj))