mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
common: Add NULL checks for xrealloc in make_string cli_hush.c
- Check return value of xrealloc for NULL. - Free allocated memory and return NULL if xrealloc fails. - Prevent NULL pointer dereference in strlen and strcat. Triggers found by static analyzer Svace. Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
This commit is contained in:
parent
bdf056441d
commit
b4df7003df
@ -3626,7 +3626,13 @@ static char *make_string(char **inp, int *nonnull)
|
||||
noeval = 1;
|
||||
for (n = 0; inp[n]; n++) {
|
||||
p = insert_var_value_sub(inp[n], noeval);
|
||||
str = xrealloc(str, (len + strlen(p) + (2 * nonnull[n])));
|
||||
char *new_str = xrealloc(str, (len + strlen(p) + (2 * nonnull[n])));
|
||||
if (!new_str) {
|
||||
free(str);
|
||||
if (p != inp[n]) free(p);
|
||||
return NULL;
|
||||
}
|
||||
str = new_str;
|
||||
if (n) {
|
||||
strcat(str, " ");
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user