1
0
Fork 0
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:
Bart Schaefer 2023-02-26 18:54:10 -08:00
parent d76004588b
commit ec4bd3169d
2 changed files with 15 additions and 6 deletions

View file

@ -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:

View file

@ -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() */