On Mon, Mar 22, 2021 at 9:21 AM Thomas Munro <thomas.mu...@gmail.com> wrote: > > On Mon, Mar 22, 2021 at 10:50 AM Peter Smith <smithpb2...@gmail.com> wrote: > > The real problem isn't the Assert. It's all those other usages of ent > > disobeying the API rule: "(NB: in the case of the REMOVE action, the > > result is a dangling pointer that shouldn't be dereferenced!)" > > I suppose the HASH_REMOVE case could clobber the object with 0x7f if > CLOBBER_FREED_MEMORY is defined (typically assertion builds), or > alternatively return some other non-NULL but poisoned pointer, so that > problems of this ilk blow up in early testing.
+1, but not sure if the poisoned ptr alternative can work because some code (e.g see RemoveTargetIfNoLongerUsed function) is asserting the return ptr actual value, not just its NULL-ness. ------ Kind Regards, Peter Smith. Fujitsu Australia.