diff options
author | Benoit Germain <bnt.germain@gmail.com> | 2021-06-26 18:25:53 +0200 |
---|---|---|
committer | Benoit Germain <bnt.germain@gmail.com> | 2021-06-26 18:25:53 +0200 |
commit | 909470be9f7ec1dd2d09ae1a371d69c9c652e957 (patch) | |
tree | cd16d9976e90c1d8a61d8ee3423d4af1671bafc0 /deep_test/deep_test.c | |
parent | 050e14dd7fa04e2262ae6b1cc984d76c4149b664 (diff) | |
download | lanes-909470be9f7ec1dd2d09ae1a371d69c9c652e957.tar.gz lanes-909470be9f7ec1dd2d09ae1a371d69c9c652e957.tar.bz2 lanes-909470be9f7ec1dd2d09ae1a371d69c9c652e957.zip |
fix stack overflow when transfering a clonable userdata referencing itself through a uservalue
Diffstat (limited to 'deep_test/deep_test.c')
-rw-r--r-- | deep_test/deep_test.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/deep_test/deep_test.c b/deep_test/deep_test.c index dabc84d..873428b 100644 --- a/deep_test/deep_test.c +++ b/deep_test/deep_test.c | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | // ################################################################################################ | 17 | // ################################################################################################ |
18 | 18 | ||
19 | // a lanes-deep userdata. needs DeepPrelude and luaG_newdeepuserdata from Lanes code. | ||
19 | struct s_MyDeepUserdata | 20 | struct s_MyDeepUserdata |
20 | { | 21 | { |
21 | DeepPrelude prelude; // Deep userdata MUST start with this header | 22 | DeepPrelude prelude; // Deep userdata MUST start with this header |
@@ -190,6 +191,7 @@ static int clonable_gc( lua_State* L) | |||
190 | 191 | ||
191 | // ################################################################################################ | 192 | // ################################################################################################ |
192 | 193 | ||
194 | // this is all we need to make a userdata lanes-clonable. no dependency on Lanes code. | ||
193 | static int clonable_lanesclone( lua_State* L) | 195 | static int clonable_lanesclone( lua_State* L) |
194 | { | 196 | { |
195 | switch( lua_gettop( L)) | 197 | switch( lua_gettop( L)) |