summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2014-02-19 22:05:34 +0100
committerMike Pall <mike>2014-02-19 22:05:34 +0100
commit1994a2453e91beafcc78e12051b44ccc7a41bf7b (patch)
tree6a9e3d9698039daab35e0dc3e4711ef1a89c7c04
parent2bc63bb6affdb378c1698bd0f97bacb286a61a6f (diff)
downloadluajit-1994a2453e91beafcc78e12051b44ccc7a41bf7b.tar.gz
luajit-1994a2453e91beafcc78e12051b44ccc7a41bf7b.tar.bz2
luajit-1994a2453e91beafcc78e12051b44ccc7a41bf7b.zip
FFI: Disallow nested VLS.
-rw-r--r--src/lj_cparse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_cparse.c b/src/lj_cparse.c
index 767ac179..6ffe16a2 100644
--- a/src/lj_cparse.c
+++ b/src/lj_cparse.c
@@ -1258,7 +1258,7 @@ static void cp_struct_layout(CPState *cp, CTypeID sid, CTInfo sattr)
1258 sinfo |= (info & (CTF_QUAL|CTF_VLA)); /* Merge pseudo-qualifiers. */ 1258 sinfo |= (info & (CTF_QUAL|CTF_VLA)); /* Merge pseudo-qualifiers. */
1259 1259
1260 /* Check for size overflow and determine alignment. */ 1260 /* Check for size overflow and determine alignment. */
1261 if (sz >= 0x20000000u || bofs + csz < bofs) { 1261 if (sz >= 0x20000000u || bofs + csz < bofs || (info & CTF_VLA)) {
1262 if (!(sz == CTSIZE_INVALID && ctype_isarray(info) && 1262 if (!(sz == CTSIZE_INVALID && ctype_isarray(info) &&
1263 !(sinfo & CTF_UNION))) 1263 !(sinfo & CTF_UNION)))
1264 cp_err(cp, LJ_ERR_FFI_INVSIZE); 1264 cp_err(cp, LJ_ERR_FFI_INVSIZE);