CERT.MULTI.FUNC.ARG.CALLS

副次式の評価の順序や、副作用が発生する順序には依存しない。

脆弱性とリスク

呼び出された関数内に複数の関数呼び出し引数がある。実行順序は保証されず、関数に副作用が含まれている場合は予期しない結果が生じる可能性がある。

脆弱コード例

<![CDATA[ int val; int procsssA() { // ... return val++; } int procsssB() { // ... return val++; } void process(int a, int b); void handler() { process(procsssA(), procsssB()); } ]]>

process() に提供される値は評価の順序に依存する