mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-02-05 00:54:06 +03:00
Fix checking memory allocation return, fixes coverity 1164969
This commit is contained in:
parent
626d37511f
commit
f6867efcf8
@ -55,20 +55,34 @@ monkey_process_command(void)
|
||||
char **argv = NULL;
|
||||
char *p, *r = NULL;
|
||||
handle_command_fn fn = NULL;
|
||||
char **nargv;
|
||||
|
||||
if (fgets(buffer, PATH_MAX, stdin) == NULL) {
|
||||
netsurf_quit = true;
|
||||
return;
|
||||
}
|
||||
|
||||
buffer[strlen(buffer)-1] = '\0';
|
||||
|
||||
/* remove newline */
|
||||
buffer[strlen(buffer) - 1] = '\0';
|
||||
|
||||
argv = malloc(sizeof *argv);
|
||||
if (argv == NULL) {
|
||||
return;
|
||||
}
|
||||
argc = 1;
|
||||
*argv = buffer;
|
||||
|
||||
for (p = r = buffer; *p != '\0'; p++) {
|
||||
if (*p == ' ') {
|
||||
argv = realloc(argv, sizeof(*argv) * (argc + 1));
|
||||
nargv = realloc(argv, sizeof(*argv) * (argc + 1));
|
||||
if (nargv == NULL) {
|
||||
/* reallocation of argument vector failed, try using what is
|
||||
* already processed.
|
||||
*/
|
||||
break;
|
||||
} else {
|
||||
argv = nargv;
|
||||
}
|
||||
argv[argc++] = r = p + 1;
|
||||
*p = '\0';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user