summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2016-07-15 14:24:09 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2016-07-15 14:24:09 -0300
commit788109a3de05462f19c5c05033581c1eab9e9283 (patch)
treeb72b80833fd37b2fe72ad8c7e8e80e77357d7fce
parent09c9fa36eac9d9f8f16d03a36f8b777670c5a6e4 (diff)
downloadlua-github-788109a3de05462f19c5c05033581c1eab9e9283.tar.gz
new bug: Checking a format for 'os.date' may read pass the format string
-rw-r--r--bugs23
1 files changed, 23 insertions, 0 deletions
diff --git a/bugs b/bugs
index d0f9ad1e..4dc02d4b 100644
--- a/bugs
+++ b/bugs
@@ -3641,6 +3641,29 @@ patch = [[
}
+Bug{
+what = [[Checking a format for 'os.date' may read pass the format string]],
+report = [[Nagaev Boris, 2016/07/10]],
+since = [[5.3.3]],
+fix = nil,
+example = [[
+This bug does not seem to happen with regular compilers.
+It needs an "interceptor" 'memcmp' function that continues
+reading memory after a difference is found.]],
+patch = [[
+2c2
+< ** $Id: loslib.c,v 1.64 2016/04/18 13:06:55 roberto Exp roberto $
+---
+> ** $Id: loslib.c,v 1.64 2016/04/18 13:06:55 roberto Exp $
+263c263,264
+< for (option = LUA_STRFTIMEOPTIONS; *option != '\0'; option += oplen) {
+---
+> int convlen = (int)strlen(conv);
+> for (option = LUA_STRFTIMEOPTIONS; *option != '\0' && oplen <= convlen; option += oplen) {
+]]
+}
+
+
--[=[
Bug{
what = [[ ]],