From d0e8d6efda101d1bbae846e4927e04d54f0f0045 Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Mon, 4 May 2020 09:47:34 +0100 Subject: [PATCH] Fix post-update nodes for function arguments. --- ql/src/semmle/go/dataflow/internal/DataFlowUtil.qll | 2 +- .../FunctionOutput_getExitNode.expected | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ql/src/semmle/go/dataflow/internal/DataFlowUtil.qll b/ql/src/semmle/go/dataflow/internal/DataFlowUtil.qll index 3645073cf2f..6ccd6338b76 100644 --- a/ql/src/semmle/go/dataflow/internal/DataFlowUtil.qll +++ b/ql/src/semmle/go/dataflow/internal/DataFlowUtil.qll @@ -408,7 +408,7 @@ class PostUpdateNode extends Node { ) or preupd instanceof ArgumentNode and - mutableType(preupd.getType()) + mutableType(preupd.getType().getUnderlyingType()) ) and ( preupd = this.(SsaNode).getAUse() diff --git a/ql/test/library-tests/semmle/go/dataflow/FunctionInputsAndOutputs/FunctionOutput_getExitNode.expected b/ql/test/library-tests/semmle/go/dataflow/FunctionInputsAndOutputs/FunctionOutput_getExitNode.expected index f84d4616a8f..cf0fe4752b4 100644 --- a/ql/test/library-tests/semmle/go/dataflow/FunctionInputsAndOutputs/FunctionOutput_getExitNode.expected +++ b/ql/test/library-tests/semmle/go/dataflow/FunctionInputsAndOutputs/FunctionOutput_getExitNode.expected @@ -1,3 +1,4 @@ +| parameter 0 | tst.go:10:2:10:29 | call to ReadFrom | tst.go:8:12:8:17 | definition of reader | | receiver | tst.go:10:2:10:29 | call to ReadFrom | tst.go:9:2:9:12 | definition of bytesBuffer | | result | main.go:51:2:51:14 | call to op | main.go:51:2:51:14 | call to op | | result | main.go:53:2:53:22 | call to op2 | main.go:53:2:53:22 | call to op2 |