mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-01 05:16:05 +01: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>
|
||||
|
||||
* 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;
|
||||
int ret;
|
||||
int ne = noerrs;
|
||||
|
||||
queue_signals();
|
||||
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;
|
||||
}
|
||||
|
||||
pm = setsparam(dupstring(pnam), ztrdup(module));
|
||||
|
||||
pm->node.flags |= PM_AUTOLOAD;
|
||||
if (flags & FEAT_AUTOALL)
|
||||
pm->node.flags |= PM_AUTOALL;
|
||||
noerrs = 2;
|
||||
if ((pm = setsparam(dupstring(pnam), ztrdup(module)))) {
|
||||
pm->node.flags |= PM_AUTOLOAD;
|
||||
if (flags & FEAT_AUTOALL)
|
||||
pm->node.flags |= PM_AUTOALL;
|
||||
ret = 0;
|
||||
} else
|
||||
ret = -1;
|
||||
noerrs = ne;
|
||||
unqueue_signals();
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Remove a parameter added with add_autoparam() */
|
||||
|
|
Loading…
Reference in a new issue