lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 788109a3de05462f19c5c05033581c1eab9e9283
parent 09c9fa36eac9d9f8f16d03a36f8b777670c5a6e4
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri, 15 Jul 2016 14:23:43 -0300

new bug: Checking a format for 'os.date' may read pass the format string

Diffstat:
Mbugs | 23+++++++++++++++++++++++
1 file changed, 23 insertions(+), 0 deletions(-)

diff --git 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 = [[ ]],