From a594ca9de8feab5501cb8562befeff80e8c19c3a Mon Sep 17 00:00:00 2001 From: Joe Farebrother Date: Mon, 8 Dec 2025 15:39:44 +0000 Subject: [PATCH] Add tests --- .../frameworks/spring/websocket/Test.java | 22 +++++++++++++++++++ .../frameworks/spring/websocket/options | 1 + .../frameworks/spring/websocket/test.expected | 0 .../frameworks/spring/websocket/test.ql | 4 ++++ 4 files changed, 27 insertions(+) create mode 100644 java/ql/test/library-tests/frameworks/spring/websocket/Test.java create mode 100644 java/ql/test/library-tests/frameworks/spring/websocket/options create mode 100644 java/ql/test/library-tests/frameworks/spring/websocket/test.expected create mode 100644 java/ql/test/library-tests/frameworks/spring/websocket/test.ql diff --git a/java/ql/test/library-tests/frameworks/spring/websocket/Test.java b/java/ql/test/library-tests/frameworks/spring/websocket/Test.java new file mode 100644 index 00000000000..9eea4f3f685 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/websocket/Test.java @@ -0,0 +1,22 @@ + +import org.springframework.web.socket.handler.TextWebSocketHandler; +import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.WebSocketMessage; + + +public class Test extends TextWebSocketHandler { + void sink(Object o) {} + + @Override + public void handleMessage(WebSocketSession s, WebSocketMessage m) { + sink(s); // $hasTaintFlow + sink(s.getAcceptedProtocol()); // $hasTaintFlow + sink(s.getHandshakeHeaders()); // $hasTaintFlow + sink(s.getPrincipal()); // $hasTaintFlow + sink(s.getUri()); // $hasTaintFlow + + sink(m); // $hasTaintFlow + sink(m.getPayload()); // $hasTaintFlow + + } +} \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/spring/websocket/options b/java/ql/test/library-tests/frameworks/spring/websocket/options new file mode 100644 index 00000000000..f62bc577784 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/websocket/options @@ -0,0 +1 @@ +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/springframework-5.8.x:${testdir}/../../../../stubs/javax-servlet-2.5:${testdir}/../../../../stubs/apache-commons-logging-1.2 diff --git a/java/ql/test/library-tests/frameworks/spring/websocket/test.expected b/java/ql/test/library-tests/frameworks/spring/websocket/test.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/test/library-tests/frameworks/spring/websocket/test.ql b/java/ql/test/library-tests/frameworks/spring/websocket/test.ql new file mode 100644 index 00000000000..de0d4722737 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/websocket/test.ql @@ -0,0 +1,4 @@ +import java +import utils.test.InlineFlowTest +import DefaultFlowTest +import TaintFlow::PathGraph