From 17a69bbe90367474f91be780eba2e888df067789 Mon Sep 17 00:00:00 2001 From: Bhargava Shastry Date: Mon, 30 Dec 2019 15:28:33 +0100 Subject: [PATCH] Swap mutated block and if body and switch-case body blocks --- test/tools/ossfuzz/protomutators/YulProtoMutator.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/tools/ossfuzz/protomutators/YulProtoMutator.cpp b/test/tools/ossfuzz/protomutators/YulProtoMutator.cpp index 2a5f5e10e..eefffcdc8 100644 --- a/test/tools/ossfuzz/protomutators/YulProtoMutator.cpp +++ b/test/tools/ossfuzz/protomutators/YulProtoMutator.cpp @@ -469,8 +469,9 @@ static YulProtoMutator addIf( std::cout << "YULMUTATOR: Add if" << std::endl; #endif auto block = static_cast(_message); - auto stmt = block->add_statements(); auto ifStmt = new IfStmt(); + ifStmt->mutable_if_body()->Swap(block); + auto stmt = block->add_statements(); stmt->set_allocated_ifstmt(ifStmt); #ifdef DEBUG std::cout << protobuf_mutator::SaveMessageAsText(*_message) << std::endl; @@ -518,8 +519,10 @@ static YulProtoMutator addSwitch( std::cout << "YULMUTATOR: Add switch" << std::endl; #endif auto block = static_cast(_message); - auto stmt = block->add_statements(); auto switchStmt = new SwitchStmt(); + auto caseStmt = switchStmt->add_case_stmt(); + caseStmt->mutable_case_block()->Swap(block); + auto stmt = block->add_statements(); stmt->set_allocated_switchstmt(switchStmt); #ifdef DEBUG std::cout << protobuf_mutator::SaveMessageAsText(*_message) << std::endl;