mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-28 17:10:59 +01:00
42600: error paths for _values leaked the exclusion list array
This commit is contained in:
parent
90afd36922
commit
4044d73706
2 changed files with 7 additions and 0 deletions
|
|
@ -3022,6 +3022,7 @@ parse_cvdef(char *nam, char **args)
|
|||
|
||||
if (hassep && !sep && name + bs + 1 < p) {
|
||||
freecvdef(ret);
|
||||
if (xor) freearray(xor);
|
||||
zwarnnam(nam, "no multi-letter values with empty separator allowed");
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -3035,6 +3036,7 @@ parse_cvdef(char *nam, char **args)
|
|||
|
||||
if (!*p) {
|
||||
freecvdef(ret);
|
||||
if (xor) freearray(xor);
|
||||
zwarnnam(nam, "invalid value definition: %s", *args);
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -3046,6 +3048,7 @@ parse_cvdef(char *nam, char **args)
|
|||
}
|
||||
if (c && c != ':') {
|
||||
freecvdef(ret);
|
||||
if (xor) freearray(xor);
|
||||
zwarnnam(nam, "invalid value definition: %s", *args);
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -3054,6 +3057,7 @@ parse_cvdef(char *nam, char **args)
|
|||
if (c == ':') {
|
||||
if (hassep && !sep) {
|
||||
freecvdef(ret);
|
||||
if (xor) freearray(xor);
|
||||
zwarnnam(nam, "no value with argument with empty separator allowed");
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue