From 5d23cef71f39c781822dd7d5bae55af19b664665 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 11 Mar 2021 11:28:40 +0000 Subject: [PATCH] occult ilks: Fix dispose (!) Signed-off-by: Ian Jackson --- src/occultilks.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/occultilks.rs b/src/occultilks.rs index 81d912b8..02c77023 100644 --- a/src/occultilks.rs +++ b/src/occultilks.rs @@ -64,8 +64,12 @@ impl OccultIlks { pub fn dispose(&mut self, id: OId) { let id: Id = id.0; - let data = self.table.remove(id).unwrap(); - self.lookup.remove(&data.k); + let data = &mut self.table[id]; + let newrefcount = data.refcount.checked_sub(1).unwrap(); + if newrefcount == 0 { + let data = self.table.remove(id).unwrap(); + self.lookup.remove(&data.k); + } } } -- 2.30.2