]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Limit maximum number of frames in fuzzing tests
authorJouni Malinen <jouni@codeaurora.org>
Tue, 4 May 2021 15:19:23 +0000 (18:19 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 4 May 2021 15:19:23 +0000 (18:19 +0300)
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 <jouni@codeaurora.org>
tests/fuzzing/eap-aka-peer/eap-aka-peer.c
tests/fuzzing/eap-sim-peer/eap-sim-peer.c

index db06ed52b1de64ce16d00d646b3e8bee0c294087..ce7b0438c6b88929901b239b5912c3e37dd1b386 100644 (file)
@@ -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);
index b6798ee478695519572afca482847e276001db7a..743a94bbfd67ba2ff2acfe57c5718829f8580ac5 100644 (file)
@@ -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);