From 983f8f02de963e60c1091e3f22f122ece6e29de6 Mon Sep 17 00:00:00 2001 From: Alan Baker Date: Wed, 8 Aug 2018 13:01:57 -0400 Subject: [PATCH] Replace asserts with returns * Changes to satisfy fuzzer --- source/parsed_operand.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/source/parsed_operand.cpp b/source/parsed_operand.cpp index 3bb4dd016..7ad369cdb 100644 --- a/source/parsed_operand.cpp +++ b/source/parsed_operand.cpp @@ -23,10 +23,12 @@ namespace spvtools { void EmitNumericLiteral(std::ostream* out, const spv_parsed_instruction_t& inst, const spv_parsed_operand_t& operand) { - assert(operand.type == SPV_OPERAND_TYPE_LITERAL_INTEGER || - operand.type == SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER); - assert(1 <= operand.num_words); - assert(operand.num_words <= 2); + if (operand.type != SPV_OPERAND_TYPE_LITERAL_INTEGER && + operand.type != SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER) + return; + if (operand.num_words < 1) return; + // TODO(dneto): Support more than 64-bits at a time. + if (operand.num_words > 2) return; const uint32_t word = inst.words[operand.offset]; if (operand.num_words == 1) { @@ -47,7 +49,7 @@ void EmitNumericLiteral(std::ostream* out, const spv_parsed_instruction_t& inst, } break; default: - assert(false && "Unreachable"); + break; } } else if (operand.num_words == 2) { // Multi-word numbers are presented with lower order words first. @@ -65,11 +67,8 @@ void EmitNumericLiteral(std::ostream* out, const spv_parsed_instruction_t& inst, *out << spvtools::utils::FloatProxy(bits); break; default: - assert(false && "Unreachable"); + break; } - } else { - // TODO(dneto): Support more than 64-bits at a time. - assert(false && "Unhandled"); } } } // namespace spvtools