From 95bfd65feca95d77a8acb2648a431a1754d1d5d3 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Thu, 18 Mar 2021 13:08:30 -0600 Subject: [PATCH] Flush stdout before successful return from LLVMFuzzerTestOneInput(). Fixes a problem with diag lines from libFuzzer being interspersed with test output. --- lib/iolog/regress/fuzz/fuzz_iolog_json.c | 2 ++ lib/iolog/regress/fuzz/fuzz_iolog_legacy.c | 1 + lib/iolog/regress/fuzz/fuzz_iolog_timing.c | 1 + lib/util/regress/fuzz/fuzz_sudo_conf.c | 2 ++ logsrvd/regress/fuzz/fuzz_logsrvd_conf.c | 2 ++ plugins/sudoers/regress/fuzz/fuzz_policy.c | 2 ++ plugins/sudoers/regress/fuzz/fuzz_sudoers.c | 1 + plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c | 1 + 8 files changed, 12 insertions(+) diff --git a/lib/iolog/regress/fuzz/fuzz_iolog_json.c b/lib/iolog/regress/fuzz/fuzz_iolog_json.c index b31ade64b..c31a3d06a 100644 --- a/lib/iolog/regress/fuzz/fuzz_iolog_json.c +++ b/lib/iolog/regress/fuzz/fuzz_iolog_json.c @@ -84,5 +84,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) } fclose(fp); + fflush(stdout); + return 0; } diff --git a/lib/iolog/regress/fuzz/fuzz_iolog_legacy.c b/lib/iolog/regress/fuzz/fuzz_iolog_legacy.c index 97f4180eb..5ad309d1a 100644 --- a/lib/iolog/regress/fuzz/fuzz_iolog_legacy.c +++ b/lib/iolog/regress/fuzz/fuzz_iolog_legacy.c @@ -81,6 +81,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) eventlog_free(evlog); } fclose(fp); + fflush(stdout); return 0; } diff --git a/lib/iolog/regress/fuzz/fuzz_iolog_timing.c b/lib/iolog/regress/fuzz/fuzz_iolog_timing.c index d92845296..259ab0aa9 100644 --- a/lib/iolog/regress/fuzz/fuzz_iolog_timing.c +++ b/lib/iolog/regress/fuzz/fuzz_iolog_timing.c @@ -88,6 +88,7 @@ cleanup: close(dfd); } rmdir(logdir); + fflush(stdout); return 0; } diff --git a/lib/util/regress/fuzz/fuzz_sudo_conf.c b/lib/util/regress/fuzz/fuzz_sudo_conf.c index 611938867..4c0d3d980 100644 --- a/lib/util/regress/fuzz/fuzz_sudo_conf.c +++ b/lib/util/regress/fuzz/fuzz_sudo_conf.c @@ -57,5 +57,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) unlink(tempfile); + fflush(stdout); + return 0; } diff --git a/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c b/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c index b1a36b11c..b3a9ea579 100644 --- a/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c +++ b/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c @@ -72,5 +72,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) unlink(tempfile); + fflush(stdout); + return 0; } diff --git a/plugins/sudoers/regress/fuzz/fuzz_policy.c b/plugins/sudoers/regress/fuzz/fuzz_policy.c index c41ef03f3..9e285bf3b 100644 --- a/plugins/sudoers/regress/fuzz/fuzz_policy.c +++ b/plugins/sudoers/regress/fuzz/fuzz_policy.c @@ -458,6 +458,8 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) sudoers_debug_deregister(); + fflush(stdout); + return 0; } diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c index 45d721d04..a2f98c440 100644 --- a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c +++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c @@ -387,6 +387,7 @@ done: memset(&sudo_user, 0, sizeof(sudo_user)); sudoers_setlocale(SUDOERS_LOCALE_USER, NULL); sudoers_debug_deregister(); + fflush(stdout); return 0; } diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c b/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c index 7f926352e..70c2a3ce7 100644 --- a/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c +++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c @@ -108,6 +108,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) free_parse_tree(&parse_tree); fclose(fp); sudoers_debug_deregister(); + fflush(stdout); return 0; }