diff options
| author | Mike Pall <mike> | 2012-05-28 21:38:23 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2012-05-28 21:38:23 +0200 |
| commit | 97b7edb206830d661e1eab30b40bffed93e9569e (patch) | |
| tree | a52911e88065e2775e79cc69876b7fef72c733fc | |
| parent | 10b9ed37e0f0605987ee2ce93542c7c44a5ec64e (diff) | |
| download | luajit-97b7edb206830d661e1eab30b40bffed93e9569e.tar.gz luajit-97b7edb206830d661e1eab30b40bffed93e9569e.tar.bz2 luajit-97b7edb206830d661e1eab30b40bffed93e9569e.zip | |
Fix argument checks for coroutine.create().
| -rw-r--r-- | src/lib_base.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib_base.c b/src/lib_base.c index 927c1bca..149aa5cf 100644 --- a/src/lib_base.c +++ b/src/lib_base.c | |||
| @@ -550,9 +550,10 @@ LJLIB_CF(coroutine_running) | |||
| 550 | 550 | ||
| 551 | LJLIB_CF(coroutine_create) | 551 | LJLIB_CF(coroutine_create) |
| 552 | { | 552 | { |
| 553 | lua_State *L1 = lua_newthread(L); | 553 | lua_State *L1; |
| 554 | if (!(L->base < L->top && tvisfunc(L->base))) | 554 | if (!(L->base < L->top && tvisfunc(L->base))) |
| 555 | lj_err_argt(L, 1, LUA_TFUNCTION); | 555 | lj_err_argt(L, 1, LUA_TFUNCTION); |
| 556 | L1 = lua_newthread(L); | ||
| 556 | setfuncV(L, L1->top++, funcV(L->base)); | 557 | setfuncV(L, L1->top++, funcV(L->base)); |
| 557 | return 1; | 558 | return 1; |
| 558 | } | 559 | } |
