Date: Sat, 11 Nov 2017 18:08:44 +0000 (UTC) From: Thomas Zander <riggs@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r453985 - in branches/2017Q4/lang/lua53: . files Message-ID: <201711111808.vABI8ioH038509@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: riggs Date: Sat Nov 11 18:08:44 2017 New Revision: 453985 URL: https://svnweb.freebsd.org/changeset/ports/453985 Log: MFH: r453971 Fix multiple runtime errors and crashes in lua 5.3.4 Details - Import upstream patches for known runtime errors and crashes in lua 5.3.4 Details, see https://www.lua.org/bugs.html in the section on version 5.3.4 PR: 222581 Submitted by: russ.haley@gmail.com Approved by: maintainer timeout Approved by: ports-secteam (swills) Added: branches/2017Q4/lang/lua53/files/patch-src__ldebug.c - copied unchanged from r453971, head/lang/lua53/files/patch-src__ldebug.c branches/2017Q4/lang/lua53/files/patch-src__lgc.c - copied unchanged from r453971, head/lang/lua53/files/patch-src__lgc.c branches/2017Q4/lang/lua53/files/patch-src__lparser.c - copied unchanged from r453971, head/lang/lua53/files/patch-src__lparser.c Modified: branches/2017Q4/lang/lua53/Makefile Directory Properties: branches/2017Q4/ (props changed) Modified: branches/2017Q4/lang/lua53/Makefile ============================================================================== --- branches/2017Q4/lang/lua53/Makefile Sat Nov 11 18:08:39 2017 (r453984) +++ branches/2017Q4/lang/lua53/Makefile Sat Nov 11 18:08:44 2017 (r453985) @@ -3,6 +3,7 @@ PORTNAME= lua PORTVERSION= 5.3.4 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= http://www.lua.org/ftp/ PKGNAMESUFFIX= 53 Copied: branches/2017Q4/lang/lua53/files/patch-src__ldebug.c (from r453971, head/lang/lua53/files/patch-src__ldebug.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2017Q4/lang/lua53/files/patch-src__ldebug.c Sat Nov 11 18:08:44 2017 (r453985, copy of r453971, head/lang/lua53/files/patch-src__ldebug.c) @@ -0,0 +1,10 @@ +--- src/ldebug.c.orig 2016-10-19 12:32:10 UTC ++++ src/ldebug.c +@@ -653,6 +653,7 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, + CallInfo *ci = L->ci; + const char *msg; + va_list argp; ++ luaC_checkGC(L); /* error message uses memory */ + va_start(argp, fmt); + msg = luaO_pushvfstring(L, fmt, argp); /* format message */ + va_end(argp); Copied: branches/2017Q4/lang/lua53/files/patch-src__lgc.c (from r453971, head/lang/lua53/files/patch-src__lgc.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2017Q4/lang/lua53/files/patch-src__lgc.c Sat Nov 11 18:08:44 2017 (r453985, copy of r453971, head/lang/lua53/files/patch-src__lgc.c) @@ -0,0 +1,13 @@ +--- src/lgc.c.orig 2016-12-22 13:08:50 UTC ++++ src/lgc.c +@@ -643,8 +643,9 @@ static void clearkeys (global_State *g, GCObject *l, G + for (n = gnode(h, 0); n < limit; n++) { + if (!ttisnil(gval(n)) && (iscleared(g, gkey(n)))) { + setnilvalue(gval(n)); /* remove value ... */ +- removeentry(n); /* and remove entry from table */ + } ++ if (ttisnil(gval(n))) /* is entry empty? */ ++ removeentry(n); /* remove entry from table */ + } + } + } Copied: branches/2017Q4/lang/lua53/files/patch-src__lparser.c (from r453971, head/lang/lua53/files/patch-src__lparser.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2017Q4/lang/lua53/files/patch-src__lparser.c Sat Nov 11 18:08:44 2017 (r453985, copy of r453971, head/lang/lua53/files/patch-src__lparser.c) @@ -0,0 +1,11 @@ +--- src/lparser.c.orig 2016-08-01 19:51:24 UTC ++++ src/lparser.c +@@ -1392,7 +1392,7 @@ static void test_then_block (LexState *ls, int *escape + luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ + enterblock(fs, &bl, 0); /* must enter block before 'goto' */ + gotostat(ls, v.t); /* handle goto/break */ +- skipnoopstat(ls); /* skip other no-op statements */ ++ while (testnext(ls, ';')) {} /* skip semicolons */ + if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ + leaveblock(fs); + return; /* and that is it */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711111808.vABI8ioH038509>