diff options
Diffstat (limited to 'src/regress/lib/libcrypto/mlkem/parse_test_file.c')
-rw-r--r-- | src/regress/lib/libcrypto/mlkem/parse_test_file.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/regress/lib/libcrypto/mlkem/parse_test_file.c b/src/regress/lib/libcrypto/mlkem/parse_test_file.c index 19f03439e2..9f3e5f3a1a 100644 --- a/src/regress/lib/libcrypto/mlkem/parse_test_file.c +++ b/src/regress/lib/libcrypto/mlkem/parse_test_file.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: parse_test_file.c,v 1.3 2024/12/27 11:17:48 tb Exp $ */ | 1 | /* $OpenBSD: parse_test_file.c,v 1.6 2025/06/03 10:29:37 tb Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2024 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2024 Theo Buehler <tb@openbsd.org> |
@@ -47,6 +47,8 @@ static void | |||
47 | line_data_clear(struct line_data *ld) | 47 | line_data_clear(struct line_data *ld) |
48 | { | 48 | { |
49 | freezero(ld->data, ld->data_len); | 49 | freezero(ld->data, ld->data_len); |
50 | /* The dereference isn't enough for silly old gcc 14. */ | ||
51 | assert(ld != NULL); | ||
50 | explicit_bzero(ld, sizeof(*ld)); | 52 | explicit_bzero(ld, sizeof(*ld)); |
51 | } | 53 | } |
52 | 54 | ||
@@ -644,7 +646,8 @@ parse_reinit(struct parse *p) | |||
644 | p->state.running_test_case = 0; | 646 | p->state.running_test_case = 0; |
645 | parse_line_data_clear(p); | 647 | parse_line_data_clear(p); |
646 | tctx->finish(p->ctx); | 648 | tctx->finish(p->ctx); |
647 | tctx->init(p->ctx, p); | 649 | if (!tctx->init(p->ctx, p)) |
650 | parse_errx(p, "init failed"); | ||
648 | } | 651 | } |
649 | 652 | ||
650 | static int | 653 | static int |
@@ -706,7 +709,8 @@ parse_init(struct parse *p, const char *fn, const struct test_parse *tctx, | |||
706 | parse_state_init(&p->state, tctx->num_states, tctx->num_instructions); | 709 | parse_state_init(&p->state, tctx->num_states, tctx->num_instructions); |
707 | p->tctx = tctx; | 710 | p->tctx = tctx; |
708 | p->ctx = ctx; | 711 | p->ctx = ctx; |
709 | tctx->init(ctx, p); | 712 | if (!tctx->init(p->ctx, p)) |
713 | parse_errx(p, "init failed"); | ||
710 | } | 714 | } |
711 | 715 | ||
712 | static int | 716 | static int |
@@ -732,7 +736,10 @@ parse_next_line(struct parse *p) | |||
732 | static void | 736 | static void |
733 | parse_finish(struct parse *p) | 737 | parse_finish(struct parse *p) |
734 | { | 738 | { |
739 | const struct test_parse *tctx = p->tctx; | ||
740 | |||
735 | parse_state_finish(&p->state); | 741 | parse_state_finish(&p->state); |
742 | tctx->finish(p->ctx); | ||
736 | 743 | ||
737 | free(p->buf); | 744 | free(p->buf); |
738 | 745 | ||