[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: something I should know about lua_setfenv()...?
- From: Asko Kauppi <askok@...>
- Date: Mon, 26 Feb 2007 20:00:41 +0200
I stumbled upon such an error message, on OS X:
lua51(4112) malloc: *** Deallocation of a pointer not malloced:
0x56fc0;
This could be a double free(), or free() called with the middle of an
allocated block; Try setting environment variable MallocHelp to
see tools to
help debug
Getting one of these per each sandboxed call I do -- part of
deserialization code.
If I apply no sandboxing (comment out the lines below) there is no
problems.
WHAT is going on, and WHAT am I not seeing?
I thought it's the -2 index, but does the same with absolute stack
index, too.
...
// [1]: function to return deserialized data
// Without this, 'os.execute' etc. would be available to the
deserialized script!
//
//lua_newtable( L );
//rr= lua_setfenv( L, -2 );
//fprintf( stderr, "[[%d]]", rr ); // gives 1 (all should be okay?)
lua_call( L, 0 /*args*/, LUA_MULTRET );
^--- something within that call is what gives the dual-free warning
Thanks! :)
-asko