[ https://issues.apache.org/jira/browse/WW-5310?focusedWorklogId=923838&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-923838 ]
ASF GitHub Bot logged work on WW-5310: -------------------------------------- Author: ASF GitHub Bot Created on: 18/Jun/24 07:47 Start Date: 18/Jun/24 07:47 Worklog Time Spent: 10m Work Description: sonarcloud[bot] commented on PR #968: URL: https://github.com/apache/struts/pull/968#issuecomment-2175427339 ## [](https://sonarcloud.io/dashboard?id=apache_struts&pullRequest=968) **Quality Gate failed** Failed conditions  [8 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_struts&pullRequest=968&resolved=false&sinceLeakPeriod=true)  [28.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_struts&pullRequest=968&metric=new_coverage&view=list) (required ≥ 80%)  [4.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_struts&pullRequest=968&metric=new_duplicated_lines_density&view=list) (required ≤ 3%)  [E Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=apache_struts&pullRequest=968) (required ≥ A)  [E Security Rating on New Code](https://sonarcloud.io/dashboard?id=apache_struts&pullRequest=968) (required ≥ A) [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_struts&pullRequest=968) ##  Catch issues before they fail your Quality Gate with our IDE extension  [SonarLint](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request) Issue Time Tracking ------------------- Worklog Id: (was: 923838) Time Spent: 2h 50m (was: 2h 40m) > s:url does not handle equal sign correctly > ------------------------------------------ > > Key: WW-5310 > URL: https://issues.apache.org/jira/browse/WW-5310 > Project: Struts 2 > Issue Type: Bug > Components: Core Tags > Affects Versions: 2.5.30, 6.1.2 > Reporter: nikos dimitrakas > Assignee: Lukasz Lenart > Priority: Major > Fix For: 6.5.0 > > Time Spent: 2h 50m > Remaining Estimate: 0h > > We discovered a strange case when a URL is passed to s:url. The URL contains > an equal sign as part of a parameter value. Example: > [https://www.scitepress.org/PublicationsDetail.aspx?ID=GjTu91suYQI=&t=1] > This URL works in the browser even though the equal sign that is part of the > value of the parameter ID has not been replaced with %3D. > When this URL is passed to an s:url as value then the equal sign disappears. > When I put a break point in ComponentTagSupport.doStartTag() I can see that > the query string has been split and the component.parameters contains the two > parameters (ID and t), but the equal sign is missing. > The problem seems to be in ServletUrlRenderer.mergeRequestParameters called > from beforeRenderUrl. The way the StrutsQueryStringParser.parse splits each > param of the queryString on equal sign causes all the equal signs to be used, > not just the first. Shouldn't that split be only on the first equal sign so > that any remaining equal signs can be considered as part of the value? Just > by adding a limit of one to the split should fix this. -- This message was sent by Atlassian Jira (v8.20.10#820010)