Accepting request 1058364 from home:ecsos

- Update to 1.3.2
  * https://git.ghostscript.com/?p=mujs.git;a=log;h=refs/tags/1.3.2

But there is an stupid rpmlint warning:
mujs.src:67: W: non-break-space line 67, char 9

Line does not exists and, mujs.src does not exist ?!?!
And on console with osc it shows mujs.spec with same errors.
Very strange.

OBS-URL: https://build.opensuse.org/request/show/1058364
OBS-URL: https://build.opensuse.org/package/show/devel:languages:javascript/mujs?expand=0&rev=14
This commit is contained in:
Илья Индиго 2023-01-14 12:12:31 +00:00 committed by Git OBS Bridge
parent 3d5cb00c3c
commit 78c8d7e1b9
5 changed files with 37 additions and 95 deletions

View File

@ -1,89 +0,0 @@
diff -Pdpru mujs-1.2.0.orig/jsdump.c mujs-1.2.0/jsdump.c
--- mujs-1.2.0.orig/jsdump.c 2021-12-08 14:56:12.000000000 +0300
+++ mujs-1.2.0/jsdump.c 2022-05-18 18:37:44.522227643 +0300
@@ -682,11 +682,13 @@ static void pstmlist(int d, js_Ast *list
void jsP_dumpsyntax(js_State *J, js_Ast *prog, int dominify)
{
minify = dominify;
- if (prog->type == AST_LIST)
- pstmlist(-1, prog);
- else {
- pstm(0, prog);
- nl();
+ if (prog) {
+ if (prog->type == AST_LIST)
+ pstmlist(-1, prog);
+ else {
+ pstm(0, prog);
+ nl();
+ }
}
if (minify > 1)
putchar('\n');
@@ -768,11 +770,13 @@ static void sblock(int d, js_Ast *list)
void jsP_dumplist(js_State *J, js_Ast *prog)
{
minify = 0;
- if (prog->type == AST_LIST)
- sblock(0, prog);
- else
- snode(0, prog);
- nl();
+ if (prog) {
+ if (prog->type == AST_LIST)
+ sblock(0, prog);
+ else
+ snode(0, prog);
+ nl();
+ }
}
/* Compiled code */
diff -Pdpru mujs-1.2.0.orig/regexp.c mujs-1.2.0/regexp.c
--- mujs-1.2.0.orig/regexp.c 2021-12-08 14:56:12.000000000 +0300
+++ mujs-1.2.0/regexp.c 2022-05-18 18:32:24.114001044 +0300
@@ -622,25 +622,26 @@ struct Reinst {
Reinst *y;
};
-static int count(struct cstate *g, Renode *node)
+static int count(struct cstate *g, Renode *node, int depth)
{
int min, max, n;
if (!node) return 0;
+ if (++depth > REG_MAXREC) die(g, "stack overflow");
switch (node->type) {
default: return 1;
- case P_CAT: return count(g, node->x) + count(g, node->y);
- case P_ALT: return count(g, node->x) + count(g, node->y) + 2;
+ case P_CAT: return count(g, node->x, depth) + count(g, node->y, depth);
+ case P_ALT: return count(g, node->x, depth) + count(g, node->y, depth) + 2;
case P_REP:
min = node->m;
max = node->n;
- if (min == max) n = count(g, node->x) * min;
- else if (max < REPINF) n = count(g, node->x) * max + (max - min);
- else n = count(g, node->x) * (min + 1) + 2;
+ if (min == max) n = count(g, node->x, depth) * min;
+ else if (max < REPINF) n = count(g, node->x, depth) * max + (max - min);
+ else n = count(g, node->x, depth) * (min + 1) + 2;
if (n < 0 || n > REG_MAXPROG) die(g, "program too large");
return n;
- case P_PAR: return count(g, node->x) + 2;
- case P_PLA: return count(g, node->x) + 2;
- case P_NLA: return count(g, node->x) + 2;
+ case P_PAR: return count(g, node->x, depth) + 2;
+ case P_PLA: return count(g, node->x, depth) + 2;
+ case P_NLA: return count(g, node->x, depth) + 2;
}
}
@@ -903,7 +904,7 @@ Reprog *regcompx(void *(*alloc)(void *ct
putchar('\n');
#endif
- n = 6 + count(&g, node);
+ n = 6 + count(&g, node, 0);
if (n < 0 || n > REG_MAXPROG)
die(&g, "program too large");

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:66976d1e06a352754a2342af73d1aecbb53cc7cdae2b68cda013b7ddcf923233
size 99108

BIN
mujs-1.3.2.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Sat Jan 14 11:41:55 UTC 2023 - ecsos <ecsos@opensuse.org>
- Update to 1.3.2
* https://git.ghostscript.com/?p=mujs.git;a=log;h=refs/tags/1.3.2
* 1.3.2 patch release for UAF bug fix.
* Bug 706057: Fix use-after-free in getOwnPropertyDescriptor.
* Set length of output array Array.prototype.map.
- Update to 1.3.1
* https://git.ghostscript.com/?p=mujs.git;a=log;h=refs/tags/1.3.1
* Make a patch release for important iterator bug fix.
* Issue #166: Use special iterator for string and array indices.
* Enable choice of library version for shell
* Use $(@D) instead of $(dir $@)
- Update to 1.3.0
* https://git.ghostscript.com/?p=mujs.git;a=log;h=refs/tags/1.3.0
* Avoid freeing buffer twice in case of error.
* Fast path for "simple" arrays.
* Bug 705775: Fix double fclose in pretty-printing tool.
* Makefile: fix parallel builds
* Guard state initialization with try to avoid panic in initialization.
* Add js_isbooleanobject and js_isdateobject functions.
* Issue #161: Cope with empty programs in mujs-pp.
* Issue #161: Don't fclose a FILE that is NULL.
* Issue #162: Check stack overflow during regexp compilation.
* Bug 705052: Don't use private STACK/TOP macros in jsstate.c
* Add "console" object to mujs shell.
* Issue #156: Fix check for duplicate formal parameters when strict.
* Some minor optimizations to Ap_join.
* array join: avoid strcat, speedup from O(N^2) to O(N)
- Drop mujs-1.2.0-stack-exhaustion.patch because now in upstream.
-------------------------------------------------------------------
Wed May 18 15:45:51 UTC 2022 - Илья Индиго <ilya@ilya.cf>

View File

@ -1,7 +1,7 @@
#
# spec file for package mujs
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,14 +17,13 @@
Name: mujs
Version: 1.2.0
Version: 1.3.2
Release: 0
Summary: An embeddable Javascript interpreter
License: AGPL-3.0-or-later
Group: Development/Languages/C and C++
URL: https://mujs.com
Source0: https://mujs.com/downloads/%{name}-%{version}.tar.xz
Patch0: %{name}-1.2.0-stack-exhaustion.patch
BuildRequires: pkgconfig
BuildRequires: pkgconfig(readline)