lua-hooks/ext/luajit/src/lj_cdata.c in immunio-1.2.1 vs lua-hooks/ext/luajit/src/lj_cdata.c in immunio-2.0.2
- old
+ new
@@ -1,8 +1,8 @@
/*
** C data management.
-** Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2017 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
#if LJ_HASFFI
@@ -91,14 +91,16 @@
/* Add cdata to finalizer table, if still enabled. */
TValue *tv, tmp;
setcdataV(L, &tmp, cd);
lj_gc_anybarriert(L, t);
tv = lj_tab_set(L, t, &tmp);
- setgcV(L, tv, obj, it);
- if (!tvisnil(tv))
- cd->marked |= LJ_GC_CDATA_FIN;
- else
+ if (it == LJ_TNIL) {
+ setnilV(tv);
cd->marked &= ~LJ_GC_CDATA_FIN;
+ } else {
+ setgcV(L, tv, obj, it);
+ cd->marked |= LJ_GC_CDATA_FIN;
+ }
}
}
/* -- C data indexing ----------------------------------------------------- */