You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (Jira)" <ji...@apache.org> on 2021/07/24 15:50:00 UTC
[jira] [Created] (MNG-7194) PluginParameterExpressionEvaluator
incorrectly interpolates unknown subexpression
Robert Scholte created MNG-7194:
-----------------------------------
Summary: PluginParameterExpressionEvaluator incorrectly interpolates unknown subexpression
Key: MNG-7194
URL: https://issues.apache.org/jira/browse/MNG-7194
Project: Maven
Issue Type: Bug
Components: Inheritance and Interpolation
Reporter: Robert Scholte
The PluginParameterExpressionEvaluator evaluate(String,Class)-method ends like this:
{code:java}
if ( value instanceof String )
{
// TODO: without #, this could just be an evaluate call...
String val = (String) value;
int exprStartDelimiter = val.indexOf( "${" );
if ( exprStartDelimiter >= 0 )
{
if ( exprStartDelimiter > 0 )
{
value = val.substring( 0, exprStartDelimiter ) + evaluate( val.substring( exprStartDelimiter ) );
}
else
{
value = evaluate( val.substring( exprStartDelimiter ) );
}
}
}
{code}
Assume that pre${unknown} needs to be evaluated and {{unknown}} does not exist, the result well be "{{prenull}}"
Just ${unknown} evaluates to null, but because there's no String concat it will be a real null.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)