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

Reply via email to