mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-29 05:21:00 +01:00
49166: fix coredump in ${name:offset:length} with ill-formatted length
This commit is contained in:
parent
6e10067ffd
commit
9b3a292410
3 changed files with 15 additions and 9 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2021-07-19 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
|
||||
|
||||
* 49166: Src/subst.c, Test/D04parameter.ztst: fix coredump in
|
||||
${name:offset:length} with ill-formatted length
|
||||
|
||||
2021-07-10 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 49158: Completion/Debian/Command/_dscverify,
|
||||
|
|
|
|||
|
|
@ -3362,13 +3362,15 @@ colonsubscript:
|
|||
return NULL;
|
||||
}
|
||||
if (*check_offset2) {
|
||||
char *nextp;
|
||||
check_offset = check_colon_subscript(check_offset2 + 1,
|
||||
&check_offset2);
|
||||
&nextp);
|
||||
if (check_offset) {
|
||||
check_offset2 = nextp;
|
||||
if (*check_offset2 && *check_offset2 != ':') {
|
||||
zerr("invalid length: %s", check_offset);
|
||||
return NULL;
|
||||
}
|
||||
if (check_offset) {
|
||||
length = mathevali(check_offset);
|
||||
length_set = 1;
|
||||
if (errflag)
|
||||
|
|
|
|||
|
|
@ -2664,10 +2664,9 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
|
|||
>3: pw
|
||||
>4: pw
|
||||
|
||||
# Using a subshell because it segfaults.
|
||||
("${: :${{{\"{{lorem ipsum dolor sit amet}}")
|
||||
-f:regression test for workers/45843#1
|
||||
?(eval):1: bad substitution
|
||||
: "${foo:0:${\"}}"
|
||||
1:broken length in ${name:offset:length} (workers/45843#1)
|
||||
?(eval):1: unrecognized modifier `$'
|
||||
|
||||
$ZTST_testdir/../Src/zsh -fc $'$\\\n('
|
||||
1:regression test for workers/45843#2: escaped newline in command substitution start token
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue