You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Joe Luo (JIRA)" <ji...@apache.org> on 2017/02/13 15:56:41 UTC
[jira] [Created] (CAMEL-10822) Camel Jasypt component throws NPE
Joe Luo created CAMEL-10822:
-------------------------------
Summary: Camel Jasypt component throws NPE
Key: CAMEL-10822
URL: https://issues.apache.org/jira/browse/CAMEL-10822
Project: Camel
Issue Type: Bug
Components: camel-jasypt
Affects Versions: 2.17.0
Reporter: Joe Luo
Camel Jasypt component throws NPE if the jasypt master password is configured to use environment variable but not set to any value.
For instance, I had a bean configured for JasyptPropertiesParser:
{code}
<bean id="jasypt" class="org.apache.camel.component.jasypt.JasyptPropertiesParser">
<property name="password" value="sysenv:JASYPT_ENCRYPTION_PASSWORD"/>
</bean>
{code}
But I did not set value for the environment variable "JASYPT_ENCRYPTION_PASSWORD", then my camel-jasypt route would fail with a NPE:
{code}
Caused by: java.lang.NullPointerException
at org.apache.camel.component.jasypt.JasyptPropertiesParser.setPassword(JasyptPropertiesParser.java:95)
...
{code}
The reason is the org.apache.camel.component.jasypt.JasyptPropertiesParser.java code setPassword method here:
{code}
public void setPassword(String password) {
// lookup password as either environment or JVM system property
if (password.startsWith("sysenv:")) {
password = System.getenv(ObjectHelper.after(password, "sysenv:"));
}
if (password.startsWith("sys:")) {
password = System.getProperty(ObjectHelper.after(password, "sys:"));
}
this.password = password;
}
{code}
The first "if" statement returns a NULL and the second "if" statement throws a NPE due to lack of NPE check.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)