|
@@ -109,7 +109,11 @@ static enum event_type read_token(char **tok)
|
|
|
(strcmp(token, "=") == 0 || strcmp(token, "!") == 0) &&
|
|
|
pevent_peek_char() == '~') {
|
|
|
/* append it */
|
|
|
- *tok = malloc_or_die(3);
|
|
|
+ *tok = malloc(3);
|
|
|
+ if (*tok == NULL) {
|
|
|
+ free_token(token);
|
|
|
+ return EVENT_ERROR;
|
|
|
+ }
|
|
|
sprintf(*tok, "%c%c", *token, '~');
|
|
|
free_token(token);
|
|
|
/* Now remove the '~' from the buffer */
|
|
@@ -1123,6 +1127,8 @@ process_filter(struct event_format *event, struct filter_arg **parg,
|
|
|
break;
|
|
|
case EVENT_NONE:
|
|
|
break;
|
|
|
+ case EVENT_ERROR:
|
|
|
+ goto fail_alloc;
|
|
|
default:
|
|
|
goto fail_print;
|
|
|
}
|