struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <j...@apache.org>
Subject [jira] [Work logged] (WW-5087) AliasInterceptor doesn't properly handle Parameter.Empty
Date Tue, 15 Sep 2020 05:49:00 GMT

     [ https://issues.apache.org/jira/browse/WW-5087?focusedWorklogId=484307&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-484307
]

ASF GitHub Bot logged work on WW-5087:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 15/Sep/20 05:48
            Start Date: 15/Sep/20 05:48
    Worklog Time Spent: 10m 
      Work Description: lukaszlenart merged pull request #438:
URL: https://github.com/apache/struts/pull/438


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 484307)
    Time Spent: 0.5h  (was: 20m)

> AliasInterceptor doesn't properly handle Parameter.Empty
> --------------------------------------------------------
>
>                 Key: WW-5087
>                 URL: https://issues.apache.org/jira/browse/WW-5087
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>    Affects Versions: 2.5.22
>            Reporter: Brian Lenz
>            Assignee: Yasser Zamani
>            Priority: Major
>             Fix For: 2.5.24, 2.6
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As I reported on the mailing list, there is a bug with {{AliasInterceptor}} not handling
the {{Parameter.Empty}} that is returned from {{HttpParameters.get()}}. Since {{HttpParameters.get()}} always
returns a non-null value, the {{Evaluated}} object is treated as always being defined, which
results in the empty value being set incorrectly on the stack.
> The bug was originally introduced here:
> https://github.com/apache/struts/commit/787f2f96eb9f1bb3c8012ab42aa222ae6286a91a#diff-b7b7c87c1012088e79dcc5a7bd9e8127R168
> The fix is easy; this code:
> {code:java}
> // workaround
> HttpParameters contextParameters = ActionContext.getContext().getParameters();
> if (null != contextParameters) {
>     value = new Evaluated(contextParameters.get(name));
> }{code}
> needs to be updated to:
> {code:java}
> // workaround
> HttpParameters contextParameters = ActionContext.getContext().getParameters();
> if (null != contextParameters) {
>     Parameter param = contextParameters.get(name);
>     value = new Evaluated(param.isDefined() ? param : null);
> } {code}
> This way, it ensures the {{Evaluated}} value is only defined when appropriate.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message