From 0fae2f84fde29d7b9abf2478766f6f3c3d4008d0 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 12:25:20 +0100 Subject: [PATCH 1/6] Remove stale generated notices from stdlib taint tests --- .../semmle/go/frameworks/StdlibTaintFlow/ArchiveTar.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/ArchiveZip.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Bufio.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Bytes.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CompressBzip2.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CompressFlate.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CompressGzip.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CompressLzw.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CompressZlib.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/ContainerHeap.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/ContainerList.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/ContainerRing.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Context.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Crypto.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CryptoCipher.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CryptoRsa.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CryptoTls.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/CryptoX509.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/DatabaseSql.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/DatabaseSqlDriver.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingAscii85.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingAsn1.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingBase32.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingBase64.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingBinary.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingCsv.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingGob.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingHex.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingJson.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingPem.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/EncodingXml.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Errors.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Expvar.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Fmt.go | 3 --- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Html.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/HtmlTemplate.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Io.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/IoIoutil.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Log.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Mime.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/MimeMultipart.go | 2 -- .../go/frameworks/StdlibTaintFlow/MimeQuotedprintable.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Net.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/NetHttp.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/NetHttpHttputil.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/NetMail.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/NetTextproto.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Os.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Path.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/PathFilepath.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Reflect.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Regexp.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Sort.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Strconv.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Strings.go | 2 -- .../library-tests/semmle/go/frameworks/StdlibTaintFlow/Sync.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/SyncAtomic.go | 3 --- .../semmle/go/frameworks/StdlibTaintFlow/Syscall.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/Syscall_non_win.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/TextScanner.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/TextTabwriter.go | 2 -- .../semmle/go/frameworks/StdlibTaintFlow/TextTemplate.go | 2 -- 62 files changed, 126 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveTar.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveTar.go index 1e67bd1f3261..79be6519cc52 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveTar.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveTar.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveZip.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveZip.go index f968c5c11e03..6fac854e108b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveZip.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ArchiveZip.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bufio.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bufio.go index bec4127686ca..02f21f9d858e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bufio.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bufio.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bytes.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bytes.go index d744819e2807..dd7fd12c1209 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bytes.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Bytes.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressBzip2.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressBzip2.go index 2ca7bd8c9249..317c264e97d8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressBzip2.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressBzip2.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressFlate.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressFlate.go index 8684b690f6fb..56f37c7d5cf6 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressFlate.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressFlate.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressGzip.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressGzip.go index 246b746025ce..b96f7969db5b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressGzip.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressGzip.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressLzw.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressLzw.go index ff4a2875df7e..39c728db3147 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressLzw.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressLzw.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressZlib.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressZlib.go index 535ef1fe01b9..4773fd6f3eef 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressZlib.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CompressZlib.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerHeap.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerHeap.go index d09159a1c4ee..038a70e4a73c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerHeap.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerHeap.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "container/heap" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerList.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerList.go index dba1c7e57fb2..6e5b0aa6075e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerList.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerList.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "container/list" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerRing.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerRing.go index 6b086a141770..fbe4fb35635a 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerRing.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/ContainerRing.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "container/ring" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go index 5b526f3b8c0a..1e6775e4ad86 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Crypto.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Crypto.go index 8a3e7fc29793..a739420049f3 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Crypto.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Crypto.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "crypto" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoCipher.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoCipher.go index c922498adcb7..c10e1c3085d2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoCipher.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoCipher.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "crypto/cipher" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoRsa.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoRsa.go index bc1020f9a5e4..f05d3567df00 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoRsa.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoRsa.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "crypto/rsa" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoTls.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoTls.go index a35f30a1a991..f161c3cba118 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoTls.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoTls.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoX509.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoX509.go index a60b6eab2f4d..96bbb13170ba 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoX509.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/CryptoX509.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSql.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSql.go index 3e2f5af18bba..47cdc3536297 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSql.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSql.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSqlDriver.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSqlDriver.go index ff572e9d889d..ba63f5dfcadd 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSqlDriver.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/DatabaseSqlDriver.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "database/sql/driver" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAscii85.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAscii85.go index 2e595f2fe7fe..b61d3d7049a8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAscii85.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAscii85.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAsn1.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAsn1.go index 282cec2ac85a..6653817c2b29 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAsn1.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingAsn1.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "encoding/asn1" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase32.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase32.go index e1f49d7e9540..88923ae4410f 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase32.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase32.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase64.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase64.go index 9fb443c12a35..c87751d3e314 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase64.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBase64.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBinary.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBinary.go index 9a6300eaf30f..776a3b800544 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBinary.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingBinary.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingCsv.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingCsv.go index 462195a934ac..1eb306ee826a 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingCsv.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingCsv.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingGob.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingGob.go index 9c4bdd01d1ed..c0480bec4094 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingGob.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingGob.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingHex.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingHex.go index ef022b2061be..ff534e402f93 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingHex.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingHex.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingJson.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingJson.go index 289ac9b811d9..6e2427fff63b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingJson.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingJson.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingPem.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingPem.go index 22efae6e6cdf..7b339760ca84 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingPem.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingPem.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingXml.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingXml.go index a213c7b3a810..c7c3ef598bff 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingXml.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/EncodingXml.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Errors.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Errors.go index 71b7f9441f81..af1d727b46e5 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Errors.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Errors.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "errors" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Expvar.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Expvar.go index 429612f221be..8ac0e3311def 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Expvar.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Expvar.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "expvar" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Fmt.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Fmt.go index 61df23367013..f21dad595128 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Fmt.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Fmt.go @@ -1,6 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox, with manual additions for -// go 1.19's new Append[f, ln] functions. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Html.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Html.go index b4c1300a7d38..22be462dab5c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Html.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Html.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "html" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/HtmlTemplate.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/HtmlTemplate.go index 3758f595ef4c..d7ca0f0472cf 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/HtmlTemplate.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/HtmlTemplate.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Io.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Io.go index d06e9b6d8181..c2fbc47152c9 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Io.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Io.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "io" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/IoIoutil.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/IoIoutil.go index 5faa3bf8b0ae..3138780e83d8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/IoIoutil.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/IoIoutil.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Log.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Log.go index 50dcfd1170bf..1b5b12a270bf 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Log.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Log.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Mime.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Mime.go index 5af469a74593..51ac4f3bdb45 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Mime.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Mime.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "mime" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeMultipart.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeMultipart.go index 06a7e8040939..8e6948715d54 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeMultipart.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeMultipart.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeQuotedprintable.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeQuotedprintable.go index c405fed3a7be..619c88f4921b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeQuotedprintable.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/MimeQuotedprintable.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Net.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Net.go index 6f18383f4498..0cfd4db6e8e7 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Net.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Net.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttp.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttp.go index 86129bedbff2..2f3fe3ceee0c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttp.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttp.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttpHttputil.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttpHttputil.go index 1a2e81b03949..cee11c5c38c8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttpHttputil.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetHttpHttputil.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetMail.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetMail.go index 595f71dac757..3448f44ba1a7 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetMail.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetMail.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetTextproto.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetTextproto.go index 8285400a142d..a592d9c63678 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetTextproto.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/NetTextproto.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Os.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Os.go index 859a3bbd3bd4..f7392c1e3e37 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Os.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Os.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Path.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Path.go index 04978ea7fa0b..754c031446a8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Path.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Path.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "path" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/PathFilepath.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/PathFilepath.go index c84b22deee6f..cc8d9163c4d1 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/PathFilepath.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/PathFilepath.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "path/filepath" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Reflect.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Reflect.go index 497dfdb4e00f..c30883251dfb 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Reflect.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Reflect.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Regexp.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Regexp.go index 31937a695beb..908dc5fd9b68 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Regexp.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Regexp.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "regexp" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sort.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sort.go index 3cf3b09497ba..933c02e39203 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sort.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sort.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "sort" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strconv.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strconv.go index d7f84f6c031e..d1c4e851ddc4 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strconv.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strconv.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "strconv" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go index ac152a84c3b5..ac781189daa2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sync.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sync.go index d7d1044acd6f..9ce734b3cbab 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sync.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Sync.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "sync" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/SyncAtomic.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/SyncAtomic.go index dd7a8f778002..f5fbcd6795c2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/SyncAtomic.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/SyncAtomic.go @@ -1,6 +1,3 @@ -// Code partially generated by https://github.com/gagliardetto/codebox, with manual additions -// for atomic.Pointer and Uintptr, as well as atomic.Value's Swap method. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall.go index fce1d4dd34cf..db873c4ee7f8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import "syscall" diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall_non_win.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall_non_win.go index 06db4fa3c0b5..6dbaf5692776 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall_non_win.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Syscall_non_win.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - //go:build !windows // +build !windows diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextScanner.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextScanner.go index 875bc8e885e8..afcb61b86152 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextScanner.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextScanner.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTabwriter.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTabwriter.go index 50e725399240..202dbec4b23d 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTabwriter.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTabwriter.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTemplate.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTemplate.go index 79d3179e29cd..14e56a714442 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTemplate.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/TextTemplate.go @@ -1,5 +1,3 @@ -// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT. - package main import ( From ab8129e6081f0b5f29952dd5ff2c713e717eb697 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 12:26:16 +0100 Subject: [PATCH 2/6] Test whole-slice taint flow through strings.Join --- .../semmle/go/frameworks/StdlibTaintFlow/Strings.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go index ac781189daa2..e35305bf9d43 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Strings.go @@ -82,6 +82,12 @@ func TaintStepTest_StringsJoin_B0I0O0(sourceCQL interface{}) interface{} { return intoString957 } +func TaintStepTest_StringsJoin_B0I0O0_WholeSlice(sourceCQL interface{}) interface{} { + fromStrings := sourceCQL.([]string) + intoString := strings.Join(fromStrings, "") + return intoString +} + func TaintStepTest_StringsJoin_B0I1O0(sourceCQL interface{}) interface{} { fromString520 := sourceCQL.(string) intoString443 := strings.Join(nil, fromString520) From dd909be7dda2ec389ee8da81b0da3800daa0f8b5 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 12:29:18 +0100 Subject: [PATCH 3/6] (trivial) Reformat headers in test file The formatter insisted on doing this. --- .../semmle/go/frameworks/StdlibTaintFlow/Context.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go index 1e6775e4ad86..d0f372d3cc6d 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/StdlibTaintFlow/Context.go @@ -2,8 +2,9 @@ package main import ( "context" - oldcontext "golang.org/x/net/context" "time" + + oldcontext "golang.org/x/net/context" ) func TaintStepTest_ContextWithCancel_B0I0O0(sourceCQL interface{}) interface{} { From 814f6f7d2d3f32bc75ff976233881f0cb06334a4 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 14:42:22 +0100 Subject: [PATCH 4/6] Lift Go read steps to taint steps --- go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll | 1 + .../semmle/go/dataflow/FlowSteps/LocalTaintStep.expected | 1 + 2 files changed, 2 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll index e985383c8cf4..ff3766db640f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll @@ -96,6 +96,7 @@ private predicate localAdditionalForwardTaintStep( pred2 = pred.(DataFlow::PostUpdateNode).getPreUpdateNode() | referenceStep(pred2, succ) or + DataFlowPrivate::readStep(pred2, _, succ) or elementWriteStep(pred2, succ) or fieldReadStep(pred2, succ) or elementStep(pred2, succ) or diff --git a/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalTaintStep.expected b/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalTaintStep.expected index 4ace99a0ab2c..d8574b29242b 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalTaintStep.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalTaintStep.expected @@ -11,6 +11,7 @@ | main.go:47:2:50:2 | next range element | main.go:47:2:50:2 | extract:0 range element | | main.go:47:2:50:2 | next range element | main.go:47:2:50:2 | extract:1 range element | | main.go:47:20:47:21 | xs | main.go:47:2:50:2 | extract:1 range element | +| main.go:57:4:57:5 | ch | main.go:57:2:57:5 | <-... | | strings.go:9:24:9:24 | s | strings.go:9:8:9:38 | call to Replace | | strings.go:9:32:9:34 | "_" | strings.go:9:8:9:38 | call to Replace | | strings.go:10:27:10:27 | s | strings.go:10:8:10:42 | call to ReplaceAll | From 6eb0f489be368fd1e95dba5ef4af8bc342cb88b2 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 15:05:57 +0100 Subject: [PATCH 5/6] Update test outputs (no alert changes) --- .../experimental/CWE-74/DsnInjectionLocal.expected | 7 +++++++ .../Security/CWE-078/CommandInjection.expected | 11 +++++++++++ .../Security/CWE-079/ReflectedXss.expected | 3 +++ .../Security/CWE-209/StackTraceExposure.expected | 9 +++++++-- .../query-tests/Security/CWE-327/UnsafeTLS.expected | 4 ++++ .../InsecureRandomness/InsecureRandomness.expected | 5 +++++ 6 files changed, 37 insertions(+), 2 deletions(-) diff --git a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected index 1a938af237c2..51fcc5567eeb 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected @@ -2,9 +2,13 @@ | Dsn.go:29:29:29:33 | dbDSN | Dsn.go:26:11:26:17 | selection of Args | Dsn.go:29:29:29:33 | dbDSN | This query depends on a $@. | Dsn.go:26:11:26:17 | selection of Args | user-provided value | | Dsn.go:68:29:68:33 | dbDSN | Dsn.go:63:19:63:25 | selection of Args | Dsn.go:68:29:68:33 | dbDSN | This query depends on a $@. | Dsn.go:63:19:63:25 | selection of Args | user-provided value | edges +| Dsn.go:26:11:26:17 | selection of Args | Dsn.go:26:11:26:21 | slice element node | provenance | Src:MaD:1 | | Dsn.go:26:11:26:17 | selection of Args | Dsn.go:28:102:28:109 | index expression | provenance | Src:MaD:1 | +| Dsn.go:26:11:26:21 | slice element node | Dsn.go:26:11:26:21 | slice expression [array] | provenance | | +| Dsn.go:26:11:26:21 | slice expression [array] | Dsn.go:28:102:28:106 | name2 [array] | provenance | | | Dsn.go:28:11:28:110 | []type{args} [array] | Dsn.go:28:11:28:110 | call to Sprintf | provenance | MaD:2 | | Dsn.go:28:11:28:110 | call to Sprintf | Dsn.go:29:29:29:33 | dbDSN | provenance | | +| Dsn.go:28:102:28:106 | name2 [array] | Dsn.go:28:102:28:109 | index expression | provenance | | | Dsn.go:28:102:28:109 | index expression | Dsn.go:28:11:28:110 | []type{args} [array] | provenance | | | Dsn.go:28:102:28:109 | index expression | Dsn.go:28:11:28:110 | call to Sprintf | provenance | FunctionModel | | Dsn.go:63:9:63:11 | cfg [postupdate] [pointer] | Dsn.go:67:102:67:104 | cfg [pointer] | provenance | | @@ -23,8 +27,11 @@ models | 2 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | nodes | Dsn.go:26:11:26:17 | selection of Args | semmle.label | selection of Args | +| Dsn.go:26:11:26:21 | slice element node | semmle.label | slice element node | +| Dsn.go:26:11:26:21 | slice expression [array] | semmle.label | slice expression [array] | | Dsn.go:28:11:28:110 | []type{args} [array] | semmle.label | []type{args} [array] | | Dsn.go:28:11:28:110 | call to Sprintf | semmle.label | call to Sprintf | +| Dsn.go:28:102:28:106 | name2 [array] | semmle.label | name2 [array] | | Dsn.go:28:102:28:109 | index expression | semmle.label | index expression | | Dsn.go:29:29:29:33 | dbDSN | semmle.label | dbDSN | | Dsn.go:63:9:63:11 | cfg [postupdate] [pointer] | semmle.label | cfg [postupdate] [pointer] | diff --git a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index 2c0e30f02e47..2ca54c27f78c 100644 --- a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -49,6 +49,7 @@ edges | GitSubcommands.go:33:13:33:19 | selection of URL | GitSubcommands.go:33:13:33:27 | call to Query | provenance | Src:MaD:2 MaD:7 | | GitSubcommands.go:33:13:33:27 | call to Query | GitSubcommands.go:38:32:38:38 | tainted | provenance | | | SanitizingDoubleDash.go:9:2:9:37 | SSA def(tainted) | SanitizingDoubleDash.go:13:25:13:31 | tainted | provenance | | +| SanitizingDoubleDash.go:9:2:9:37 | SSA def(tainted) | SanitizingDoubleDash.go:14:23:14:33 | slice element node | provenance | | | SanitizingDoubleDash.go:9:2:9:37 | SSA def(tainted) | SanitizingDoubleDash.go:14:23:14:33 | slice expression | provenance | | | SanitizingDoubleDash.go:9:2:9:37 | SSA def(tainted) | SanitizingDoubleDash.go:39:31:39:37 | tainted | provenance | Config | | SanitizingDoubleDash.go:9:2:9:37 | SSA def(tainted) | SanitizingDoubleDash.go:52:24:52:30 | tainted | provenance | Config | @@ -71,6 +72,8 @@ edges | SanitizingDoubleDash.go:53:14:53:35 | call to append | SanitizingDoubleDash.go:54:23:54:30 | arrayLit | provenance | | | SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | SanitizingDoubleDash.go:54:23:54:30 | arrayLit | provenance | | | SanitizingDoubleDash.go:53:21:53:28 | arrayLit | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:4 | +| SanitizingDoubleDash.go:53:21:53:28 | arrayLit | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:3 | +| SanitizingDoubleDash.go:53:21:53:28 | arrayLit | SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | SanitizingDoubleDash.go:68:14:68:38 | call to append | provenance | MaD:5 | @@ -81,12 +84,16 @@ edges | SanitizingDoubleDash.go:69:14:69:35 | call to append | SanitizingDoubleDash.go:70:23:70:30 | arrayLit | provenance | | | SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | SanitizingDoubleDash.go:70:23:70:30 | arrayLit | provenance | | | SanitizingDoubleDash.go:69:21:69:28 | arrayLit | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:4 | +| SanitizingDoubleDash.go:69:21:69:28 | arrayLit | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:3 | +| SanitizingDoubleDash.go:69:21:69:28 | arrayLit | SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:92:13:92:19 | selection of URL | SanitizingDoubleDash.go:92:13:92:27 | call to Query | provenance | Src:MaD:2 MaD:7 | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:95:25:95:31 | tainted | provenance | | +| SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:96:24:96:34 | slice element node | provenance | | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:96:24:96:34 | slice expression | provenance | | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:100:31:100:37 | tainted | provenance | | +| SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:101:24:101:34 | slice element node | provenance | | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:101:24:101:34 | slice expression | provenance | | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:105:30:105:36 | tainted | provenance | | | SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:106:24:106:31 | arrayLit | provenance | | @@ -129,6 +136,8 @@ edges | SanitizingDoubleDash.go:129:14:129:35 | call to append | SanitizingDoubleDash.go:130:24:130:31 | arrayLit | provenance | | | SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | SanitizingDoubleDash.go:130:24:130:31 | arrayLit | provenance | | | SanitizingDoubleDash.go:129:21:129:28 | arrayLit | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:4 | +| SanitizingDoubleDash.go:129:21:129:28 | arrayLit | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:3 | +| SanitizingDoubleDash.go:129:21:129:28 | arrayLit | SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | SanitizingDoubleDash.go:136:14:136:38 | call to append | provenance | MaD:5 | @@ -144,6 +153,8 @@ edges | SanitizingDoubleDash.go:143:14:143:35 | call to append | SanitizingDoubleDash.go:144:24:144:31 | arrayLit | provenance | | | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | SanitizingDoubleDash.go:144:24:144:31 | arrayLit | provenance | | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:4 | +| SanitizingDoubleDash.go:143:21:143:28 | arrayLit | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | +| SanitizingDoubleDash.go:143:21:143:28 | arrayLit | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | models diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index d388a119214f..a632a0509658 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -59,9 +59,11 @@ edges | reflectedxsstest.go:51:14:51:26 | call to Query | reflectedxsstest.go:54:11:54:21 | type conversion | provenance | | | tst.go:14:15:14:20 | selection of Form | tst.go:14:15:14:36 | call to Get | provenance | Src:MaD:6 MaD:18 | | tst.go:14:15:14:36 | call to Get | tst.go:17:18:17:25 | username | provenance | | +| tst.go:14:15:14:36 | call to Get | tst.go:18:32:18:32 | a | provenance | | | tst.go:17:9:17:57 | slice literal [array] | tst.go:18:32:18:32 | a [array] | provenance | | | tst.go:17:18:17:25 | username | tst.go:17:9:17:57 | slice literal [array] | provenance | | | tst.go:18:19:18:38 | call to Join | tst.go:18:12:18:39 | type conversion | provenance | | +| tst.go:18:32:18:32 | a | tst.go:18:19:18:38 | call to Join | provenance | MaD:19 | | tst.go:18:32:18:32 | a [array] | tst.go:18:19:18:38 | call to Join | provenance | MaD:19 | | tst.go:48:14:48:19 | selection of Form | tst.go:48:14:48:34 | call to Get | provenance | Src:MaD:6 MaD:18 | | tst.go:48:14:48:34 | call to Get | tst.go:53:12:53:26 | type conversion | provenance | | @@ -143,6 +145,7 @@ nodes | tst.go:17:18:17:25 | username | semmle.label | username | | tst.go:18:12:18:39 | type conversion | semmle.label | type conversion | | tst.go:18:19:18:38 | call to Join | semmle.label | call to Join | +| tst.go:18:32:18:32 | a | semmle.label | a | | tst.go:18:32:18:32 | a [array] | semmle.label | a [array] | | tst.go:48:14:48:19 | selection of Form | semmle.label | selection of Form | | tst.go:48:14:48:34 | call to Get | semmle.label | call to Get | diff --git a/go/ql/test/query-tests/Security/CWE-209/StackTraceExposure.expected b/go/ql/test/query-tests/Security/CWE-209/StackTraceExposure.expected index 732b9cd5caed..51723497b132 100644 --- a/go/ql/test/query-tests/Security/CWE-209/StackTraceExposure.expected +++ b/go/ql/test/query-tests/Security/CWE-209/StackTraceExposure.expected @@ -1,8 +1,13 @@ +#select +| test.go:18:10:18:12 | buf | test.go:15:28:15:30 | buf [postupdate] | test.go:18:10:18:12 | buf | HTTP response depends on $@ and may be exposed to an external user. | test.go:15:28:15:30 | buf [postupdate] | stack trace information | edges +| test.go:15:28:15:30 | buf [postupdate] | test.go:16:8:16:21 | slice element node | provenance | | | test.go:15:28:15:30 | buf [postupdate] | test.go:18:10:18:12 | buf | provenance | | +| test.go:16:8:16:21 | slice element node | test.go:16:8:16:21 | slice expression [array] | provenance | | +| test.go:16:8:16:21 | slice expression [array] | test.go:18:10:18:12 | buf | provenance | | nodes | test.go:15:28:15:30 | buf [postupdate] | semmle.label | buf [postupdate] | +| test.go:16:8:16:21 | slice element node | semmle.label | slice element node | +| test.go:16:8:16:21 | slice expression [array] | semmle.label | slice expression [array] | | test.go:18:10:18:12 | buf | semmle.label | buf | subpaths -#select -| test.go:18:10:18:12 | buf | test.go:15:28:15:30 | buf [postupdate] | test.go:18:10:18:12 | buf | HTTP response depends on $@ and may be exposed to an external user. | test.go:15:28:15:30 | buf [postupdate] | stack trace information | diff --git a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected index 539e1070af88..27629c870e45 100644 --- a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected +++ b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected @@ -60,6 +60,8 @@ edges | UnsafeTLS.go:344:19:344:44 | call to append | UnsafeTLS.go:346:25:346:36 | cipherSuites | provenance | | | UnsafeTLS.go:344:19:344:44 | call to append [array] | UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | provenance | | | UnsafeTLS.go:344:26:344:37 | cipherSuites | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:2 | +| UnsafeTLS.go:344:26:344:37 | cipherSuites | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:1 | +| UnsafeTLS.go:344:26:344:37 | cipherSuites | UnsafeTLS.go:344:19:344:44 | call to append [array] | provenance | MaD:1 | | UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:1 | | UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append [array] | provenance | MaD:1 | | UnsafeTLS.go:344:40:344:43 | selection of ID | UnsafeTLS.go:344:19:344:44 | []type{args} [array] | provenance | | @@ -70,6 +72,8 @@ edges | UnsafeTLS.go:353:19:353:52 | call to append | UnsafeTLS.go:355:25:355:36 | cipherSuites | provenance | | | UnsafeTLS.go:353:19:353:52 | call to append [array] | UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | provenance | | | UnsafeTLS.go:353:26:353:37 | cipherSuites | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:2 | +| UnsafeTLS.go:353:26:353:37 | cipherSuites | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:1 | +| UnsafeTLS.go:353:26:353:37 | cipherSuites | UnsafeTLS.go:353:19:353:52 | call to append [array] | provenance | MaD:1 | | UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:1 | | UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append [array] | provenance | MaD:1 | | UnsafeTLS.go:353:40:353:51 | selection of ID | UnsafeTLS.go:353:19:353:52 | []type{args} [array] | provenance | | diff --git a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected index ef5f3a1f7b94..be9bed3a251a 100644 --- a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected +++ b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected @@ -5,13 +5,16 @@ | sample.go:43:17:43:39 | call to Intn | sample.go:43:17:43:39 | call to Intn | sample.go:43:17:43:39 | call to Intn | A password-related function depends on a $@ generated with a cryptographically weak RNG. | sample.go:43:17:43:39 | call to Intn | random number | | sample.go:58:32:58:43 | type conversion | sample.go:55:17:55:42 | call to Intn | sample.go:58:32:58:43 | type conversion | This cryptographic algorithm depends on a $@ generated with a cryptographically weak RNG. | sample.go:55:17:55:42 | call to Intn | random number | edges +| sample.go:15:10:15:64 | call to Sum256 | sample.go:16:9:16:15 | slice element node | provenance | | | sample.go:15:10:15:64 | call to Sum256 | sample.go:16:9:16:15 | slice expression | provenance | | | sample.go:15:24:15:63 | type conversion | sample.go:15:10:15:64 | call to Sum256 | provenance | FunctionModel | | sample.go:15:31:15:62 | []type{args} [array] | sample.go:15:31:15:62 | call to Sprintf | provenance | MaD:1 | | sample.go:15:31:15:62 | call to Sprintf | sample.go:15:24:15:63 | type conversion | provenance | | | sample.go:15:49:15:61 | call to Uint32 | sample.go:15:31:15:62 | []type{args} [array] | provenance | | | sample.go:15:49:15:61 | call to Uint32 | sample.go:15:31:15:62 | call to Sprintf | provenance | FunctionModel | +| sample.go:16:9:16:15 | slice element node | sample.go:16:9:16:15 | slice expression [array] | provenance | | | sample.go:16:9:16:15 | slice expression | sample.go:26:25:26:30 | call to Guid | provenance | | +| sample.go:16:9:16:15 | slice expression [array] | sample.go:26:25:26:30 | call to Guid | provenance | | | sample.go:34:12:34:40 | call to New | sample.go:35:14:35:19 | random | provenance | | | sample.go:35:14:35:19 | random | sample.go:35:22:35:26 | nonce [postupdate] | provenance | MaD:2 | | sample.go:35:22:35:26 | nonce [postupdate] | sample.go:37:35:37:39 | nonce | provenance | | @@ -29,7 +32,9 @@ nodes | sample.go:15:31:15:62 | []type{args} [array] | semmle.label | []type{args} [array] | | sample.go:15:31:15:62 | call to Sprintf | semmle.label | call to Sprintf | | sample.go:15:49:15:61 | call to Uint32 | semmle.label | call to Uint32 | +| sample.go:16:9:16:15 | slice element node | semmle.label | slice element node | | sample.go:16:9:16:15 | slice expression | semmle.label | slice expression | +| sample.go:16:9:16:15 | slice expression [array] | semmle.label | slice expression [array] | | sample.go:26:25:26:30 | call to Guid | semmle.label | call to Guid | | sample.go:34:12:34:40 | call to New | semmle.label | call to New | | sample.go:35:14:35:19 | random | semmle.label | random | From 8e7b09f721be999b65c9930a68ec51c3808ebb6e Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 22 Sep 2026 19:36:46 +0100 Subject: [PATCH 6/6] Remove redundant disjunct --- go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll | 1 - 1 file changed, 1 deletion(-) diff --git a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll index ff3766db640f..c279c0ee589f 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll @@ -98,7 +98,6 @@ private predicate localAdditionalForwardTaintStep( referenceStep(pred2, succ) or DataFlowPrivate::readStep(pred2, _, succ) or elementWriteStep(pred2, succ) or - fieldReadStep(pred2, succ) or elementStep(pred2, succ) or tupleStep(pred2, succ) or stringConcatStep(pred2, succ) or