From fe288e7b836deb21fedf489c590d2e2a6ad6816b Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 15 May 2014 17:28:08 +0200 Subject: [PATCH] FFI: Fix recording of indexing a struct pointer ctype object itself. --- src/lj_crecord.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 69b21f88..d4b9ddee 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c @@ -794,7 +794,7 @@ again: } } else if (tref_isstr(idx)) { GCstr *name = strV(&rd->argv[1]); - if (cd->ctypeid == CTID_CTYPEID) + if (cd && cd->ctypeid == CTID_CTYPEID) ct = ctype_raw(cts, crec_constructor(J, cd, ptr)); if (ctype_isstruct(ct->info)) { CTSize fofs; @@ -835,6 +835,7 @@ again: CType *cct = ctype_rawchild(cts, ct); if (ctype_isstruct(cct->info)) { ct = cct; + cd = NULL; if (tref_isstr(idx)) goto again; } }