aboutsummaryrefslogtreecommitdiff
path: root/src/lj_cparse.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-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 05767e61..fd998adc 100644
--- a/src/lj_cparse.c
+++ b/src/lj_cparse.c
@@ -1244,7 +1244,7 @@ static void cp_struct_layout(CPState *cp, CTypeID sid, CTInfo sattr)
1244 sinfo |= (info & (CTF_QUAL|CTF_VLA)); /* Merge pseudo-qualifiers. */ 1244 sinfo |= (info & (CTF_QUAL|CTF_VLA)); /* Merge pseudo-qualifiers. */
1245 1245
1246 /* Check for size overflow and determine alignment. */ 1246 /* Check for size overflow and determine alignment. */
1247 if (sz >= 0x20000000u || bofs + csz < bofs) { 1247 if (sz >= 0x20000000u || bofs + csz < bofs || (info & CTF_VLA)) {
1248 if (!(sz == CTSIZE_INVALID && ctype_isarray(info) && 1248 if (!(sz == CTSIZE_INVALID && ctype_isarray(info) &&
1249 !(sinfo & CTF_UNION))) 1249 !(sinfo & CTF_UNION)))
1250 cp_err(cp, LJ_ERR_FFI_INVSIZE); 1250 cp_err(cp, LJ_ERR_FFI_INVSIZE);