Fix server-response fuzzing
authorFabian Keil <fk@fabiankeil.de>
Sat, 12 Aug 2017 09:42:31 +0000 (09:42 +0000)
committerFabian Keil <fk@fabiankeil.de>
Sat, 12 Aug 2017 09:42:31 +0000 (09:42 +0000)
... which I broke when I added the receive-buffer-size directive.

When fuzzing, a zero-size buffer was used which resulted in all
fuzzing inputs that were supposed to be treated as server-response
being rejected.

Setting a receive_buffer_size in process_fuzzed_input() prevents
this. The other fuzzing modes weren't affected by the regression.

fuzz.c

diff --git a/fuzz.c b/fuzz.c
index 7cb439d..6b94d16 100644 (file)
--- a/fuzz.c
+++ b/fuzz.c
@@ -547,6 +547,8 @@ int process_fuzzed_input(char *fuzz_input_type, char *fuzz_input_file)
    csp = &csp_stack_storage;
    csp->config = &config_stack_storage;
    csp->config->buffer_limit = 4096 * 1024;
    csp = &csp_stack_storage;
    csp->config = &config_stack_storage;
    csp->config->buffer_limit = 4096 * 1024;
+   csp->config->receive_buffer_size = 4096;
+
    /* In --stfu mode, these will be ignored ... */
    set_debug_level(LOG_LEVEL_ACTIONS|LOG_LEVEL_CONNECT|LOG_LEVEL_DEANIMATE|LOG_LEVEL_INFO|LOG_LEVEL_ERROR|LOG_LEVEL_RE_FILTER|LOG_LEVEL_HEADER|LOG_LEVEL_WRITING|LOG_LEVEL_RECEIVED);
 
    /* In --stfu mode, these will be ignored ... */
    set_debug_level(LOG_LEVEL_ACTIONS|LOG_LEVEL_CONNECT|LOG_LEVEL_DEANIMATE|LOG_LEVEL_INFO|LOG_LEVEL_ERROR|LOG_LEVEL_RE_FILTER|LOG_LEVEL_HEADER|LOG_LEVEL_WRITING|LOG_LEVEL_RECEIVED);