[
https://issues.apache.org/jira/browse/CAMEL-10822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joe Luo updated CAMEL-10822:
----------------------------
Attachment: patch.txt
> 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
> Attachments: patch.txt
>
>
> 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)