diff options
Diffstat (limited to 'lundump.c')
-rw-r--r-- | lundump.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -120,7 +120,10 @@ static TString *loadStringN (LoadState *S, Proto *p) { | |||
120 | } | 120 | } |
121 | else { /* long string */ | 121 | else { /* long string */ |
122 | ts = luaS_createlngstrobj(L, size); /* create string */ | 122 | ts = luaS_createlngstrobj(L, size); /* create string */ |
123 | setsvalue2s(L, L->top, ts); /* anchor it ('loadVector' can GC) */ | ||
124 | luaD_inctop(L); | ||
123 | loadVector(S, getstr(ts), size); /* load directly in final place */ | 125 | loadVector(S, getstr(ts), size); /* load directly in final place */ |
126 | L->top--; /* pop string */ | ||
124 | } | 127 | } |
125 | luaC_objbarrier(L, p, ts); | 128 | luaC_objbarrier(L, p, ts); |
126 | return ts; | 129 | return ts; |