From 61f7892edf10f81b63590653b415a286cb805219 Mon Sep 17 00:00:00 2001 From: klauwier <r.tolkacheva@g.nsu.ru> Date: Sun, 11 Jun 2023 19:58:05 +0700 Subject: [PATCH] test/fuzz: add breaks to switch-case Cases in two switches had no breaks, so they were falling through. Breaks were added to solve the problem. Code generated by the LuaJIT fuzzer became more various. NO_CHANGELOG=internal NO_DOC=fuzzer fix (cherry picked from commit 4430cac9d3b9b612e8b34bf41302d737e0e057af) --- test/fuzz/luaL_loadbuffer/serializer.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/fuzz/luaL_loadbuffer/serializer.cc b/test/fuzz/luaL_loadbuffer/serializer.cc index 8a54077b9a..70dc0617e4 100644 --- a/test/fuzz/luaL_loadbuffer/serializer.cc +++ b/test/fuzz/luaL_loadbuffer/serializer.cc @@ -82,12 +82,15 @@ PROTO_TOSTRING(LastStatement, laststat) case LastStatType::kExplist: laststat_str = ReturnOptionalExpressionListToString( laststat.explist()); + break; case LastStatType::kBreak: laststat_str = "break"; + break; default: /* Chosen as default in order to decrease number of 'break's. */ laststat_str = ReturnOptionalExpressionListToString( laststat.explist()); + break; } if (laststat.has_semicolon()) @@ -116,10 +119,13 @@ PROTO_TOSTRING(Statement, stat) switch (stat.stat_oneof_case()) { case StatType::kList: stat_str = AssignmentListToString(stat.list()); + break; case StatType::kCall: stat_str = FunctionCallToString(stat.call()); + break; case StatType::kBlock: stat_str = DoBlockToString(stat.block()); + break; /** * TODO: * Commented due to possible generation of infinite loops. @@ -134,22 +140,29 @@ PROTO_TOSTRING(Statement, stat) */ case StatType::kIfstat: stat_str = IfStatementToString(stat.ifstat()); + break; case StatType::kForcyclename: stat_str = ForCycleNameToString(stat.forcyclename()); + break; case StatType::kForcyclelist: stat_str = ForCycleListToString(stat.forcyclelist()); + break; case StatType::kFunc: stat_str = FunctionToString(stat.func()); + break; case StatType::kLocalfunc: stat_str = LocalFuncToString(stat.localfunc()); + break; case StatType::kLocalnames: stat_str = LocalNamesToString(stat.localnames()); + break; default: /** * Chosen arbitrarily more for simplicity. * TODO: Choose "more interesting" defaults. */ stat_str = AssignmentListToString(stat.list()); + break; } if (stat.has_semicolon()) -- GitLab