]
Ilia Vassilev reassigned WFLY-8106:
-----------------------------------
Assignee: Ilia Vassilev (was: Darran Lofthouse)
Coverity static analysis, Dereference null return value,
CredentialStoreAliasDefinition (elytron-subsystem)
------------------------------------------------------------------------------------------------------------
Key: WFLY-8106
URL:
https://issues.jboss.org/browse/WFLY-8106
Project: WildFly
Issue Type: Bug
Components: Security
Reporter: Martin Choma
Assignee: Ilia Vassilev
Coverity found 2 possible occurences of dereferencing null. Method
{{propertyAliasFromOperation(final ModelNode operation)}} can return null.
And return value of {{propertyAliasFromOperation(final ModelNode operation)}} is
dereferenced in {{transformOperationAddress(final ModelNode operation)}} and
{{sameAlias(final OperationContext context, final ModelNode operation)}}
{code:java}
private static void transformOperationAddress(final ModelNode operation) {
Property alias = propertyAliasFromOperation(operation);
String newAlias = alias.getValue().asString().toLowerCase(Locale.ROOT);
alias.getValue().set(newAlias);
}
private static boolean sameAlias(final OperationContext context, final ModelNode
operation) {
String contextAlias = context.getCurrentAddress().getLastElement().getValue();
String operationAlias =
propertyAliasFromOperation(operation).getValue().asString();
return operationAlias.equals(contextAlias);
}
private static Property propertyAliasFromOperation(final ModelNode operation) {
ModelNode address = operation.get(ModelDescriptionConstants.OP_ADDR);
List<Property> list = address.asPropertyList();
Property alias = null;
for (Property p: list) {
if (ElytronDescriptionConstants.ALIAS.equals(p.getName())) {
alias = p;
break;
}
}
return alias;
}
{code}
Add null check into {{transformOperationAddress(final ModelNode operation)}} and
{{sameAlias(final OperationContext context, final ModelNode operation)}}