From ff78c835ad8aa8a7f00d237eaa4b3f369edcbe1d Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 13 Mar 2023 00:21:50 +0100 Subject: [PATCH] xgettext: In language JavaScript, avoid a crash. This avoids a crash "Assertion `phase2_pushback_length + j < SIZEOF (phase2_pushback)' failed.". * gettext-tools/src/x-javascript.c (phase2_pushback): Increase size by 1. * gettext-tools/tests/xgettext-javascript-12: New file. * gettext-tools/tests/Makefile.am (TESTS): Add it. --- gettext-tools/src/x-javascript.c | 4 ++-- gettext-tools/tests/Makefile.am | 2 +- gettext-tools/tests/xgettext-javascript-12 | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100755 gettext-tools/tests/xgettext-javascript-12 diff --git a/gettext-tools/src/x-javascript.c b/gettext-tools/src/x-javascript.c index 98710394d..815620861 100644 --- a/gettext-tools/src/x-javascript.c +++ b/gettext-tools/src/x-javascript.c @@ -215,8 +215,8 @@ phase1_ungetc (int c) static lexical_context_ty lexical_context; -/* Maximum used, length of " xg-js-12a.js +printf ' xg-js-12b.js + +: ${XGETTEXT=xgettext} +LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location -d xg-js-12.tmp xg-js-12a.js 2>xg-js-12.err +result=$? +cat xg-js-12.err +test $result = 0 || Exit 1 + +: ${XGETTEXT=xgettext} +LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location -d xg-js-12.tmp xg-js-12b.js 2>xg-js-12.err +result=$? +cat xg-js-12.err +test $result = 0 || Exit 1 + +exit 0 -- 2.47.3