diff options
-rw-r--r-- | lundump.c | 2 | ||||
-rw-r--r-- | testes/calls.lua | 14 |
2 files changed, 1 insertions, 15 deletions
@@ -81,7 +81,7 @@ static size_t loadUnsigned (LoadState *S, size_t limit) { | |||
81 | 81 | ||
82 | 82 | ||
83 | static size_t loadSize (LoadState *S) { | 83 | static size_t loadSize (LoadState *S) { |
84 | return loadUnsigned(S, ~(size_t)0); | 84 | return loadUnsigned(S, MAX_SIZET); |
85 | } | 85 | } |
86 | 86 | ||
87 | 87 | ||
diff --git a/testes/calls.lua b/testes/calls.lua index 664be1b4..a1938584 100644 --- a/testes/calls.lua +++ b/testes/calls.lua | |||
@@ -342,20 +342,6 @@ do -- another bug (in 5.4.0) | |||
342 | end | 342 | end |
343 | 343 | ||
344 | 344 | ||
345 | if not _port then -- another bug (since 5.2) | ||
346 | -- corrupted binary dump: list of upvalue names is larger than number | ||
347 | -- of upvalues, overflowing the array of upvalues. | ||
348 | local code = | ||
349 | "\x1b\x4c\x75\x61\x54\x00\x19\x93\x0d\x0a\x1a\x0a\x04\x08\x08\x78\x56\z | ||
350 | \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x77\x40\x00\x86\x40\z | ||
351 | \x74\x65\x6d\x70\x81\x81\x01\x00\x02\x82\x48\x00\x02\x00\xc7\x00\x01\z | ||
352 | \x00\x80\x80\x80\x82\x00\x00\x80\x81\x82\x78\x80\x82\x81\x86\x40\x74\z | ||
353 | \x65\x6d\x70" | ||
354 | |||
355 | assert(load(code)) -- segfaults in previous versions | ||
356 | end | ||
357 | |||
358 | |||
359 | x = string.dump(load("x = 1; return x")) | 345 | x = string.dump(load("x = 1; return x")) |
360 | a = assert(load(read1(x), nil, "b")) | 346 | a = assert(load(read1(x), nil, "b")) |
361 | assert(a() == 1 and _G.x == 1) | 347 | assert(a() == 1 and _G.x == 1) |