, cdata, , cdata . , , , Lua, C, malloc. Lua, .
, , rraallvv, , , seg-fault.
ffi.new("GLuint[1]"), GLuint Lua (LuaJIT ) , , GenVertexArrays() (1), GC , C-, (2) GenVertexArrays() , , .
, LuaJIT FFI , . ( ) C , . FFI, .
local function SafeHeapAlloc(typestr, finalizer)
if not finalizer then finalizer = ffi.C.free end
local ptr_typestr = ffi.typeof("$ *", typestr)
local typesize = ffi.sizeof(typestr)
local ptr = ffi.cast(ptr_typestr, ffi.C.malloc(typesize))
ffi.gc( ptr, finalizer )
return ptr
end