diff options
author | user1 <user1@ubuntu> | 2017-06-07 03:28:03 +0000 |
---|---|---|
committer | user1 <user1@ubuntu> | 2017-06-07 03:28:03 +0000 |
commit | d37552626bc7fa6a6bd25394dacdb3cb87af0658 (patch) | |
tree | aca676dc42b35963428ddeba07e9ba3dada15d1a /safercpp | |
parent | Merge branch 'master' of https://github.com/bloodstalker/mutator.git (diff) | |
download | mutator-d37552626bc7fa6a6bd25394dacdb3cb87af0658.tar.gz mutator-d37552626bc7fa6a6bd25394dacdb3cb87af0658.zip |
fixed a (just introduced) bug in MCSSSParameterPassing in which only the
first parameter gets processed
Diffstat (limited to '')
-rw-r--r-- | safercpp/safercpp-arr.cpp | 7 |
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(); |