Skip site navigation (1)Skip section navigation (2)
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>