Skip to content

Commit 9e83998

Browse files
authored
Merge pull request diffblue#340 from diffblue/bugfix/dump_instrumented_program_in_html_only_if_requested
SEC-249: Propagation of 'dump-in-HTML' flag to the 'slicing_tasks_builder'.
2 parents 4074b52 + e2c3cc2 commit 9e83998

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

src/taint-analysis/taint_security_scanner.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ bool taint_do_security_scan(
177177
(boost::filesystem::path(config.get_temp_root_directory()) / "SLICER")
178178
.native(),
179179
&statistics,
180-
&logger);
180+
&logger,
181+
config.is_html_dump_of_program_slice_enabled());
181182
slicer.compute_slice(config.use_data_flow_insensitive_instrumentation());
182183
}
183184

src/taint-slicer/slicer.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ taint_slicert::taint_slicert(
2626
const boost::filesystem::path &results_dir,
2727
const boost::filesystem::path &temp_dir,
2828
taint_statisticst * const statistics,
29-
messaget * const logger)
29+
messaget * const logger,
30+
const bool perform_html_dump)
3031
: program(program)
3132
, numbering(numbering)
3233
, named_tokens(named_tokens)
@@ -37,6 +38,7 @@ taint_slicert::taint_slicert(
3738
, temp_dir(temp_dir)
3839
, statistics(statistics)
3940
, logger(logger)
41+
, perform_html_dump(perform_html_dump)
4042
{
4143
boost::filesystem::create_directory(this->results_dir);
4244
boost::filesystem::create_directory(this->temp_dir);
@@ -110,7 +112,8 @@ void taint_slicert::compute_slice(
110112
i,
111113
program,
112114
statistics,
113-
logger);
115+
logger,
116+
perform_html_dump);
114117
if(task_valid.second.empty())
115118
sliced_goto_programs.push_back(task_valid.first);
116119
else

src/taint-slicer/slicer.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class taint_slicert
3131
const boost::filesystem::path &results_dir,
3232
const boost::filesystem::path &temp_dir,
3333
taint_statisticst * const statistics,
34-
messaget * const logger);
34+
messaget * const logger,
35+
const bool perform_html_dump);
3536

3637
/*******************************************************************\
3738
@@ -67,6 +68,7 @@ class taint_slicert
6768
boost::filesystem::path temp_dir;
6869
taint_statisticst *statistics;
6970
messaget *logger;
71+
bool perform_html_dump;
7072
};
7173

7274
#endif

src/taint-slicer/slicing_tasks_builder.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ std::pair<taint_slicing_taskt,std::string> build_slicing_task(
139139
const std::size_t task_id,
140140
const taint_programt * const program,
141141
taint_statisticst * const statistics,
142-
messaget * const logger)
142+
messaget * const logger,
143+
const bool perform_html_dump)
143144
{
144145
// The pathname of the output GOTO program binary file of the slicing task.
145146
const auto pathname=
@@ -273,6 +274,7 @@ std::pair<taint_slicing_taskt,std::string> build_slicing_task(
273274
goto_functions.update();
274275

275276
// Dump the instrumented GOTO program in HTML (symbol table and functions)
277+
if(perform_html_dump)
276278
{
277279
const auto dump_dir = output_dir / to_file_name(props.get_root());
278280
dump_symbol_table_in_html(symbol_table, dump_dir);

src/taint-slicer/slicing_tasks_builder.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ std::pair<taint_slicing_taskt,std::string> build_slicing_task(
7878
const std::size_t task_id,
7979
const taint_programt * const program,
8080
taint_statisticst * const statistics,
81-
messaget * const logger);
81+
messaget * const logger,
82+
const bool perform_html_dump);
8283

8384
void dump_as_json(const taint_slicing_taskt &task, json_objectt &out);
8485

0 commit comments

Comments
 (0)