mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-06-10 06:48:03 +02:00
51460: avoid crash on bad parameter autofeature
This commit is contained in:
parent
d76004588b
commit
ec4bd3169d
2 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2023-02-26 Bart Schaefer <schaefer@zsh.org>
|
||||||
|
|
||||||
|
* 51460: Src/module.c: avoid crash on bad parameter autofeature
|
||||||
|
|
||||||
2023-02-24 Oliver Kiddle <opk@zsh.org>
|
2023-02-24 Oliver Kiddle <opk@zsh.org>
|
||||||
|
|
||||||
* Shohei YOSHIDA: 51473: Completion/Unix/Command/_cal:
|
* Shohei YOSHIDA: 51473: Completion/Unix/Command/_cal:
|
||||||
|
|
17
Src/module.c
17
Src/module.c
|
@ -1198,6 +1198,7 @@ add_autoparam(const char *module, const char *pnam, int flags)
|
||||||
{
|
{
|
||||||
Param pm;
|
Param pm;
|
||||||
int ret;
|
int ret;
|
||||||
|
int ne = noerrs;
|
||||||
|
|
||||||
queue_signals();
|
queue_signals();
|
||||||
if ((ret = checkaddparam(pnam, (flags & FEAT_IGNORE)))) {
|
if ((ret = checkaddparam(pnam, (flags & FEAT_IGNORE)))) {
|
||||||
|
@ -1212,14 +1213,18 @@ add_autoparam(const char *module, const char *pnam, int flags)
|
||||||
return ret == 2 ? 0 : -1;
|
return ret == 2 ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
pm = setsparam(dupstring(pnam), ztrdup(module));
|
noerrs = 2;
|
||||||
|
if ((pm = setsparam(dupstring(pnam), ztrdup(module)))) {
|
||||||
pm->node.flags |= PM_AUTOLOAD;
|
pm->node.flags |= PM_AUTOLOAD;
|
||||||
if (flags & FEAT_AUTOALL)
|
if (flags & FEAT_AUTOALL)
|
||||||
pm->node.flags |= PM_AUTOALL;
|
pm->node.flags |= PM_AUTOALL;
|
||||||
|
ret = 0;
|
||||||
|
} else
|
||||||
|
ret = -1;
|
||||||
|
noerrs = ne;
|
||||||
unqueue_signals();
|
unqueue_signals();
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove a parameter added with add_autoparam() */
|
/* Remove a parameter added with add_autoparam() */
|
||||||
|
|
Loading…
Reference in a new issue