[ 
https://issues.apache.org/jira/browse/OLINGO-591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Bolz reassigned OLINGO-591:
-----------------------------------

    Assignee: Michael Bolz

> RestUtil query parameter extraction methods incorrectly extract an empty 
> parameter when evaluating a zero-length query string
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OLINGO-591
>                 URL: https://issues.apache.org/jira/browse/OLINGO-591
>             Project: Olingo
>          Issue Type: Bug
>    Affects Versions: V2 2.0.3
>            Reporter: Jamie Williams
>            Assignee: Michael Bolz
>            Priority: Minor
>
> When org.apache.olingo.odata2.core.servlet.RestUtil.extractQueryParameters is 
> invoked with a zero-length String value for the 'queryString' parameter the 
> method incorrectly adds a Map entry with a zero-length String key and a 
> corresponding zero-length String value.
> The same is true of the 
> org.apache.olingo.odata2.core.servlet.RestUtil.extractAllQueryParameters, but 
> in that case the Map entry value is a List containing a single empty String.
> This can cause incorrect request parsing results if the returned Maps are 
> supplied as to org.apache.olingo.odata2.core.uri.UriParserImpl.parse or 
> org.apache.olingo.odata2.core.uri.UriParserImpl.parseAll. As 
> org.apache.olingo.odata2.core.uri.UriParserImpl.distributeQueryParameters 
> will simply interpret a key that doesn't start with "$" as a non-system query 
> option, they empty key/value pair will be added to the otherQueryParameters 
> Map which will in turn be added to UriInfo.customQueryParameters in 
> org.apache.olingo.odata2.core.uri.UriParserImpl.handleOtherQueryParammeters. 
> The final result is that the returned UriInfo will be an incorrect 
> representation of the request URI.
> The problem in each step is from a lack of checking for String emptiness. 
> This is most easily solved by adding that check in addition to the existing 
> null checks in the two RestUtil methods.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to