fix(OPENFRAM-003-9): CU-86akeeczr ToolApiWebSocketProxyUrlFilter.getRequestToolId hardcodes path segment index without bounds checking - #2084
Draft
flamingo[bot] wants to merge 1 commit into
Conversation
…hardcodes path segment index without bounds checking
| @@ -28,7 +30,11 @@ public ToolApiWebSocketProxyUrlFilter( | |||
|
|
|||
| @Override | |||
Contributor
Author
There was a problem hiding this comment.
🦩 🟠 ToolApiWebSocketProxyUrlFilter.getRequestToolId hardcodes path segment index without bounds checking
In getRequestToolId(String path), replaced the unchecked path.split("/")[3] array access with a bounds check on segments.length < 4 that throws a ResponseStatusException with HttpStatus.BAD_REQUEST instead of allowing an unhandled ArrayIndexOutOfBoundsException to propagate, giving callers a controlled 400 response for malformed/short WebSocket upgrade paths.
🤖 Prompt for AI agents
In openframe-gateway-service-core/src/main/java/com/openframe/gateway/config/ws/ToolApiWebSocketProxyUrlFilter.java around line 29, review and complete this code-review fix: ToolApiWebSocketProxyUrlFilter.getRequestToolId hardcodes path segment index without bounds checking.
What the draft fix changed: In `getRequestToolId(String path)`, replaced the unchecked `path.split("/")[3]` array access with a bounds check on `segments.length < 4` that throws a `ResponseStatusException` with `HttpStatus.BAD_REQUEST` instead of allowing an unhandled `ArrayIndexOutOfBoundsException` to propagate, giving callers a controlled 400 response for malformed/short WebSocket upgrade paths.
Verify the change is correct and complete; do not refactor unrelated code.
fix confidence: 🟡 85 medium — react 👍/👎 to teach the reviewer
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes findings from rule OPENFRAM-003-9 — ToolApiWebSocketProxyUrlFilter.getRequestToolId hardcodes path segment index without bounds checking.
Draft — this is a starting point, not a finished change. The fix required judgment, so read it before trusting it.
openframe-gateway-service-core/src/main/java/com/openframe/gateway/config/ws/ToolApiWebSocketProxyUrlFilter.java:29What changed — and what was deliberately left — is explained per finding as inline review comments on the lines each finding touched.
Run: https://product-hub.flamingo.so/admin/code-review
Run id:
4f0d6344-55d4-49de-bc86-cac2510f432fMerging this PR is recorded as acceptance of the rule that produced it;
closing it unmerged is recorded as rejection. Both feed rule health, so
closing a wrong suggestion is useful rather than merely tidy.
ClickUp task: CU-86akeeczr OpenFrame lib batch review findings sweep 2 (13 PRs)