]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
FFI: Fix recording of indexing a struct pointer ctype object itself.
authorMike Pall <mike>
Thu, 15 May 2014 15:28:08 +0000 (17:28 +0200)
committerMike Pall <mike>
Thu, 15 May 2014 15:28:08 +0000 (17:28 +0200)
src/lj_crecord.c

index 69b21f88a2d30d379d217a472657e41f66cace22..d4b9ddee593a811bccead2df3dd4f2074cfffc56 100644 (file)
@@ -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;
       }
     }