From fd4580e1e84ffaf8f54641d3f5705431dffbb149 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 4 May 2021 18:19:23 +0300 Subject: [PATCH] tests: Limit maximum number of frames in fuzzing tests This limits the EAP-SIM and EAP-AKA tests to 100 test frames to avoid undesired timeouts in automated fuzz testing. The real world uses are limited to 50 rounds, so there is not really any point in trying with thousands of frames. Signed-off-by: Jouni Malinen --- tests/fuzzing/eap-aka-peer/eap-aka-peer.c | 4 +++- tests/fuzzing/eap-sim-peer/eap-sim-peer.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/fuzzing/eap-aka-peer/eap-aka-peer.c b/tests/fuzzing/eap-aka-peer/eap-aka-peer.c index db06ed52b..ce7b0438c 100644 --- a/tests/fuzzing/eap-aka-peer/eap-aka-peer.c +++ b/tests/fuzzing/eap-aka-peer/eap-aka-peer.c @@ -91,6 +91,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) struct eap_sm *sm; void *priv; struct eap_method_ret ret; + unsigned int count = 0; wpa_fuzzer_set_debug_level(); @@ -104,7 +105,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) pos = data; end = pos + size; - while (end - pos > 2) { + while (end - pos > 2 && count < 100) { u16 flen; struct wpabuf *buf, *req; @@ -121,6 +122,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) wpabuf_free(req); wpabuf_free(buf); pos += flen; + count++; } registered_eap_method->deinit(sm, priv); diff --git a/tests/fuzzing/eap-sim-peer/eap-sim-peer.c b/tests/fuzzing/eap-sim-peer/eap-sim-peer.c index b6798ee47..743a94bbf 100644 --- a/tests/fuzzing/eap-sim-peer/eap-sim-peer.c +++ b/tests/fuzzing/eap-sim-peer/eap-sim-peer.c @@ -85,6 +85,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) struct eap_sm *sm; void *priv; struct eap_method_ret ret; + unsigned int count = 0; wpa_fuzzer_set_debug_level(); @@ -98,7 +99,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) pos = data; end = pos + size; - while (end - pos > 2) { + while (end - pos > 2 && count < 100) { u16 flen; struct wpabuf *buf, *req; @@ -115,6 +116,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) wpabuf_free(req); wpabuf_free(buf); pos += flen; + count++; } registered_eap_method->deinit(sm, priv);