struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Lenz (Jira)" <j...@apache.org>
Subject [jira] [Created] (WW-5087) AliasInterceptor doesn't properly handle Parameter.Empty
Date Fri, 28 Aug 2020 15:57:00 GMT
Brian Lenz created WW-5087:
------------------------------

             Summary: 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


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 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