mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-06 08:39:22 +00:00
Make sure to cleanup and exit with an error if malloc fails in append_alloted
Signed-off-by: Henrik Kjölhede <hkjolhede@gmail.com>
This commit is contained in:
parent
21002b3950
commit
680836fa52
@ -194,6 +194,7 @@ static struct alloted_s *append_alloted(struct alloted_s **head, char *name, int
|
||||
|
||||
if (head == NULL || name == NULL) {
|
||||
// sanity check. parameters should not be null
|
||||
fprintf(stderr, "NULL parameters to append_alloted not allowed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -201,6 +202,7 @@ static struct alloted_s *append_alloted(struct alloted_s **head, char *name, int
|
||||
|
||||
if (al == NULL) {
|
||||
// unable to allocate memory to new struct
|
||||
fprintf(stderr, "Out of memory in append_alloted\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -294,8 +296,14 @@ static int get_alloted(char *me, char *intype, char *link, struct alloted_s **al
|
||||
/* found the user or group with the appropriate settings, therefore finish the search.
|
||||
* what to do if there are more than one applicable lines? not specified in the docs.
|
||||
* since getline is implemented with realloc, we don't need to free line until exiting func.
|
||||
*
|
||||
* if append_alloted returns NULL, e.g. due to a malloc error, we set count to 0 and break the loop,
|
||||
* allowing cleanup and then exiting from main()
|
||||
*/
|
||||
append_alloted(alloted, name, n);
|
||||
if (append_alloted(alloted, name, n) == NULL) {
|
||||
count = 0;
|
||||
break;
|
||||
}
|
||||
count += n;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user