GitLabClient.encodedRepo escapes only /, so a repo slug with ? # & or % corrupts every glab api path #558

Closed
opened 2026-09-14 10:13:14 +00:00 by mph · 1 comment
Owner

Found while working IW-517.

GitLabClient.encodedRepo (core/adapters/GitLabClient.scala:618) escapes only /. A repository slug carrying ?, #, & or % can therefore corrupt any glab api path built from it.

Pre-existing, and shared by every command builder in the file — not introduced by IW-517.

encodedQueryValue (core/adapters/GitLabClient.scala:851) is the correct pattern. Fix once, centrally, so every builder in the file gets it.

Found while working IW-517. `GitLabClient.encodedRepo` (`core/adapters/GitLabClient.scala:618`) escapes only `/`. A repository slug carrying `?`, `#`, `&` or `%` can therefore corrupt any `glab api` path built from it. Pre-existing, and shared by every command builder in the file — not introduced by IW-517. `encodedQueryValue` (`core/adapters/GitLabClient.scala:851`) is the correct pattern. Fix once, centrally, so every builder in the file gets it.
Member

Intake: agent-ready
Workflow: diagnostic
Reason: all gates passed
Analysis: project-management/issues/IW-558/analysis.md on branch IW-558

Intake: agent-ready Workflow: diagnostic Reason: all gates passed Analysis: project-management/issues/IW-558/analysis.md on branch IW-558
mph closed this issue 2026-09-15 09:33:16 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-cli#558
No description provided.