Hello community, here is the log from the commit of package lua54 for openSUSE:Factory checked in at 2020-08-28 23:44:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lua54 (Old) and /work/SRC/openSUSE:Factory/.lua54.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua54" Fri Aug 28 23:44:47 2020 rev:4 rq:828560 version:5.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/lua54/lua54.changes 2020-08-20 22:27:39.735948585 +0200 +++ /work/SRC/openSUSE:Factory/.lua54.new.3399/lua54.changes 2020-08-28 23:44:51.903506140 +0200 @@ -1,0 +2,6 @@ +Fri Aug 21 18:24:02 UTC 2020 - Callum Farmer <[email protected]> + +- Add final part of patch for CVE-2020-15888, boo#1174367 +- Add upstream patch 13 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ upstream-bugs.patch ++++++ --- /var/tmp/diff_new_pack.KnIzZC/_old 2020-08-28 23:44:52.667505651 +0200 +++ /var/tmp/diff_new_pack.KnIzZC/_new 2020-08-28 23:44:52.667505651 +0200 @@ -145,6 +145,17 @@ luai_userstateresume(L, nargs); --- a/src/lundump.c +++ b/src/lundump.c +@@ -120,7 +120,10 @@ static TString *loadStringN (LoadState *S, Proto *p) { + } + else { /* long string */ + ts = luaS_createlngstrobj(L, size); /* create string */ ++ setsvalue2s(L, L->top, ts); /* anchor it ('loadVector' can GC) */ ++ luaD_inctop(L); + loadVector(S, getstr(ts), size); /* load directly in final place */ ++ L->top--; /* pop string */ + } + luaC_objbarrier(L, p, ts); + return ts; @@ -205,8 +205,9 @@ static void loadUpvalues (LoadState *S, Proto *f) { n = loadInt(S); f->upvalues = luaM_newvectorchecked(S->L, n, Upvaldesc); @@ -368,3 +379,14 @@ } updatebase(ci); /* function has new base after adjustment */ vmbreak; +--- a/src/ltm.c ++++ b/src/ltm.c +@@ -240,7 +240,7 @@ void luaT_adjustvarargs (lua_State *L, int nfixparams, CallInfo *ci, + int actual = cast_int(L->top - ci->func) - 1; /* number of arguments */ + int nextra = actual - nfixparams; /* number of extra arguments */ + ci->u.l.nextraargs = nextra; +- checkstackGC(L, p->maxstacksize + 1); ++ luaD_checkstack(L, p->maxstacksize + 1); + /* copy function to the top of the stack */ + setobjs2s(L, L->top++, ci->func); + /* move fixed parameters to the top of the stack */
