aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruser1 <user1@ubuntu>2017-06-07 03:28:03 +0000
committeruser1 <user1@ubuntu>2017-06-07 03:28:03 +0000
commitd37552626bc7fa6a6bd25394dacdb3cb87af0658 (patch)
treeaca676dc42b35963428ddeba07e9ba3dada15d1a
parentMerge branch 'master' of https://github.com/bloodstalker/mutator.git (diff)
downloadmutator-d37552626bc7fa6a6bd25394dacdb3cb87af0658.tar.gz
mutator-d37552626bc7fa6a6bd25394dacdb3cb87af0658.zip
fixed a (just introduced) bug in MCSSSParameterPassing in which only the
first parameter gets processed
-rw-r--r--safercpp/safercpp-arr.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/safercpp/safercpp-arr.cpp b/safercpp/safercpp-arr.cpp
index 1ec010d..6b2c4ff 100644
--- a/safercpp/safercpp-arr.cpp
+++ b/safercpp/safercpp-arr.cpp
@@ -4923,7 +4923,7 @@ public:
return void();
}
- if ("lodepng_crc32" == function_name) {
+ if ("zlib_decompress" == function_name) {
int q = 5;
}
@@ -4937,8 +4937,6 @@ public:
auto fdecl_source_range = nice_source_range(function_decl->getSourceRange(), Rewrite);
auto fdecl_source_location_str = fdecl_source_range.getBegin().printToString(*MR.SourceManager);
- auto param_iter = function_decl->param_begin();
- auto arg_iter = CE->arg_begin();
for (size_t arg_index = 0; (CE->getNumArgs() > arg_index) && (function_decl->getNumParams() > arg_index); arg_index += 1) {
auto param_VD = function_decl->getParamDecl(arg_index);
auto arg_EX = CE->getArg(arg_index);
@@ -5019,7 +5017,8 @@ public:
return;
}
- auto argii_EX = (*arg_iter)->IgnoreImplicit();
+ auto argii_EX = arg_EX->IgnoreParenImpCasts();
+ auto argii_stmt_class = argii_EX->getStmtClass();
if (rhs_is_an_indirect_type && (argii_EX->getStmtClass() == clang::Stmt::StmtClass::CStyleCastExprClass)) {
bool special_case1_flag = false;
auto casted_expr = argii_EX->IgnoreParenCasts();