lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I'm in the process to embed Lua into ethereal

Now, I have a problem.

While scanning a packet a "packet_buffer" object is passed to the
user's dissection function. In ethereal the lifetime of this object is
that of the packet been currently analyzed. The pointer to the
underlying C object is not going to be valid after the function has
returned. If an user (the lua function) saves a copy of this variable
in a global that variable will surely be unusable.

This variables are accessed very often while analyzing packets so
having to either copy them or create and destroy a container that
keeps track o the frame number they come from would sensibly slow down

What I wondered is whether there is a (relatively fast) way I can make
sure that these variables are either not copied into global variables
(while still giving access to the global environment) or that these
refernces are nil-ified after the dissection/inspection of the current
packet has been done.



This information is top security. When you have read it, destroy yourself.
-- Marshall McLuhan