diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-04-27 17:11:11 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-04-27 17:11:11 -0300 |
commit | 58c3aa8b5f51194980a9abf463a2648bb1413925 (patch) | |
tree | df81fcd2496b56e94850a451f6f100b97305fe9b | |
parent | c1f78ff3d32298fbae950bf655bdca11179343ce (diff) | |
download | lua-58c3aa8b5f51194980a9abf463a2648bb1413925.tar.gz lua-58c3aa8b5f51194980a9abf463a2648bb1413925.tar.bz2 lua-58c3aa8b5f51194980a9abf463a2648bb1413925.zip |
malicious zero-length string in binary code may segfault Lua +
wrong code generation for some particular boolean expressions
-rw-r--r-- | bugs | 32 |
1 files changed, 30 insertions, 2 deletions
@@ -1880,8 +1880,8 @@ patch = [[ | |||
1880 | +++ lundump.c 2008/04/04 19:51:41 2.7.1.4 | 1880 | +++ lundump.c 2008/04/04 19:51:41 2.7.1.4 |
1881 | @@ -1,5 +1,5 @@ | 1881 | @@ -1,5 +1,5 @@ |
1882 | /* | 1882 | /* |
1883 | -** $Id: bugs,v 1.97 2008/07/11 17:27:41 roberto Exp roberto $ | 1883 | -** $Id: bugs,v 1.98 2008/08/06 13:32:45 roberto Exp roberto $ |
1884 | +** $Id: bugs,v 1.97 2008/07/11 17:27:41 roberto Exp roberto $ | 1884 | +** $Id: bugs,v 1.98 2008/08/06 13:32:45 roberto Exp roberto $ |
1885 | ** load precompiled Lua chunks | 1885 | ** load precompiled Lua chunks |
1886 | ** See Copyright Notice in lua.h | 1886 | ** See Copyright Notice in lua.h |
1887 | */ | 1887 | */ |
@@ -2077,3 +2077,31 @@ patch = [[ | |||
2077 | ]], | 2077 | ]], |
2078 | } | 2078 | } |
2079 | 2079 | ||
2080 | |||
2081 | ----------------------------------------------------------------- | ||
2082 | -- Lua 5.1.4 | ||
2083 | |||
2084 | Bug{ | ||
2085 | what = [[malicious zero-length string in binary code may segfault Lua]], | ||
2086 | report = [["Peter Cawley, on 2008/09/01]], | ||
2087 | since = [[5.1]], | ||
2088 | example = [[ | ||
2089 | loadstring(('').dump(function()X''end):gsub('\2%z%z%zX','\0\0\0'))() | ||
2090 | ]], | ||
2091 | patch = [[ | ||
2092 | ]], | ||
2093 | } | ||
2094 | |||
2095 | |||
2096 | Bug{ | ||
2097 | what = [[wrong code generation for some particular boolean expressions]], | ||
2098 | report = [["Brian Kelley, on 2009/04/15]], | ||
2099 | since = [[5.0]], | ||
2100 | example = [[ | ||
2101 | print(((1 or false) and true) or false) --> 1 | ||
2102 | -- should be 'true' | ||
2103 | ]], | ||
2104 | patch = [[ | ||
2105 | ]], | ||
2106 | } | ||
2107 | |||