[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Lua reference re-use
- From: Nagaev Boris <bnagaev@...>
- Date: Thu, 30 Jul 2015 23:55:21 +0300
On Thu, Jul 30, 2015 at 5:19 PM, Tim Perkins <email@example.com> wrote:
> I've also struggled with luaL_ref and luaL_unref in the past. So I will try
> to help.
> These functions create a sort of linked list of free indexes, always
> starting at the zeroth element of the table.
> I would recommend writing your own functions, to meet your specific needs.
> The original functions are not too complicated, and you can find the source
> in "lauxlib.c". In your case it should be pretty easy because you can just
> use a monotonically increasing integer.
Good idea! This simple solution allows not only to detect
use-after-free bugs but also memory leaks (ref without unref).
Why the standard implementation reuses old references? To keep the
table in array form (rather than hash)?