From e92f39fb5c8c59d3f41d4fafe3e255444099c5c7 Mon Sep 17 00:00:00 2001 From: Alex Groce Date: Tue, 4 Dec 2018 19:43:46 -0700 Subject: [PATCH 1/3] control log level --- src/include/deepstate/DeepState.h | 2 ++ src/lib/DeepState.c | 2 ++ src/lib/Log.c | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/include/deepstate/DeepState.h b/src/include/deepstate/DeepState.h index 1020910..09f2414 100644 --- a/src/include/deepstate/DeepState.h +++ b/src/include/deepstate/DeepState.h @@ -64,6 +64,8 @@ DECLARE_bool(take_over); DECLARE_bool(abort_on_fail); DECLARE_bool(verbose_reads); +DECLARE_int(log_level); + enum { DeepState_InputSize = 8192 }; diff --git a/src/lib/DeepState.c b/src/lib/DeepState.c index 91bbfc4..bb54b95 100644 --- a/src/lib/DeepState.c +++ b/src/lib/DeepState.c @@ -38,6 +38,8 @@ DEFINE_bool(take_over, false, "Replay test cases in take-over mode."); DEFINE_bool(abort_on_fail, false, "Abort on file replay failure (useful in file fuzzing)."); DEFINE_bool(verbose_reads, false, "Report on bytes being read during execution of test."); +DEFINE_int(log_level, 0, "Minimum level of logging to output.") + /* Pointer to the last registers DeepState_TestInfo data structure */ struct DeepState_TestInfo *DeepState_LastTestInfo = NULL; diff --git a/src/lib/Log.c b/src/lib/Log.c index e09eab3..4f4d642 100644 --- a/src/lib/Log.c +++ b/src/lib/Log.c @@ -73,7 +73,8 @@ char DeepState_LogBuf[DeepState_LogBufSize + 1] = {}; /* Log a C string. */ DEEPSTATE_NOINLINE void DeepState_Log(enum DeepState_LogLevel level, const char *str) { - if (DeepState_UsingLibFuzzer && (level < DeepState_LogExternal)) { + if ((DeepState_UsingLibFuzzer && (level < DeepState_LogExternal)) || + (level < FLAGS_log_level)) { return; } memset(DeepState_LogBuf, 0, DeepState_LogBufSize); From 8205c0d0747b4d9af0f49b413f4367c7f9e9e12b Mon Sep 17 00:00:00 2001 From: Alex Groce Date: Tue, 4 Dec 2018 19:51:34 -0700 Subject: [PATCH 2/3] missing semicolon --- src/lib/DeepState.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/DeepState.c b/src/lib/DeepState.c index bb54b95..7c07c31 100644 --- a/src/lib/DeepState.c +++ b/src/lib/DeepState.c @@ -38,7 +38,7 @@ DEFINE_bool(take_over, false, "Replay test cases in take-over mode."); DEFINE_bool(abort_on_fail, false, "Abort on file replay failure (useful in file fuzzing)."); DEFINE_bool(verbose_reads, false, "Report on bytes being read during execution of test."); -DEFINE_int(log_level, 0, "Minimum level of logging to output.") +DEFINE_int(log_level, 0, "Minimum level of logging to output."); /* Pointer to the last registers DeepState_TestInfo data structure */ struct DeepState_TestInfo *DeepState_LastTestInfo = NULL; From c56651c5c0b77399e70d13ecb873c4cd0f2716ef Mon Sep 17 00:00:00 2001 From: Alex Groce Date: Wed, 5 Dec 2018 11:28:35 -0700 Subject: [PATCH 3/3] fix to ranges --- src/include/deepstate/DeepState.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/include/deepstate/DeepState.h b/src/include/deepstate/DeepState.h index 09f2414..76d7167 100644 --- a/src/include/deepstate/DeepState.h +++ b/src/include/deepstate/DeepState.h @@ -240,8 +240,8 @@ DEEPSTATE_INLINE static void DeepState_Check(int expr) { if (!(DeepState_UsingLibFuzzer || HAS_FLAG_input_test_file \ || HAS_FLAG_input_test_dir || HAS_FLAG_input_test_files_dir)) \ (void) DeepState_Assume(low <= x && x <= high); \ - else \ - x = low + (x%((high+1)-low)); \ + else if ((x < low) || (x > high)) \ + x = low + (x%(((high-low)+1))); \ return x; \ }