<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to NullPointerException when using CompareCmd via Im4java</title><link>https://sourceforge.net/p/im4java/discussion/910877/thread/3a527be6/</link><description>Recent posts to NullPointerException when using CompareCmd via Im4java</description><atom:link href="https://sourceforge.net/p/im4java/discussion/910877/thread/3a527be6/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 24 Oct 2017 11:34:15 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/im4java/discussion/910877/thread/3a527be6/feed.rss" rel="self" type="application/rss+xml"/><item><title>NullPointerException when using CompareCmd via Im4java</title><link>https://sourceforge.net/p/im4java/discussion/910877/thread/3a527be6/?limit=25#a070</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I found the following bug in line 252 of ImageCommand.java there is no check if iErrorText is null:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;protected void finished(int pReturnCode) throws Exception {
    if (pReturnCode &amp;gt; 0) {
      CommandException ce;
      if (iErrorText.size() &amp;gt; 0) { // this line
    ce = new CommandException(iErrorText.get(0));
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I solved it as follows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="nt"&gt;protected&lt;/span&gt; &lt;span class="nt"&gt;void&lt;/span&gt; &lt;span class="nt"&gt;finished&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;int&lt;/span&gt; &lt;span class="nt"&gt;pReturnCode&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;throws&lt;/span&gt; &lt;span class="nt"&gt;Exception&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="err"&gt;if&lt;/span&gt; &lt;span class="err"&gt;(pReturnCode&lt;/span&gt; &lt;span class="err"&gt;&amp;gt;&lt;/span&gt; &lt;span class="err"&gt;0)&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
            &lt;span class="err"&gt;CommandException&lt;/span&gt; &lt;span class="err"&gt;ce&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="err"&gt;if&lt;/span&gt; &lt;span class="err"&gt;(iErrorText&lt;/span&gt; &lt;span class="err"&gt;!=&lt;/span&gt; &lt;span class="err"&gt;null&lt;/span&gt; &lt;span class="err"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="err"&gt;iErrorText.size()&lt;/span&gt; &lt;span class="err"&gt;&amp;gt;&lt;/span&gt; &lt;span class="err"&gt;0)&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;
                &lt;span class="err"&gt;ce&lt;/span&gt; &lt;span class="err"&gt;=&lt;/span&gt; &lt;span class="err"&gt;new&lt;/span&gt; &lt;span class="err"&gt;CommandException(String.join(",",&lt;/span&gt; &lt;span class="err"&gt;iErrorText))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="err"&gt;ce&lt;/span&gt; &lt;span class="err"&gt;=&lt;/span&gt; &lt;span class="err"&gt;new&lt;/span&gt; &lt;span class="err"&gt;CommandException("return&lt;/span&gt; &lt;span class="n"&gt;code&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;pReturnCode&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="nt"&gt;ce&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;setErrorText&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;iErrorText&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="nt"&gt;ce&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;setReturnCode&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;pReturnCode&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="nt"&gt;throw&lt;/span&gt; &lt;span class="nt"&gt;ce&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="err"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="err"&gt;removeTmpFiles()&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You can integrate this solution into your library?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gabriele favaretto</dc:creator><pubDate>Tue, 24 Oct 2017 11:34:15 -0000</pubDate><guid>https://sourceforge.net908d2cc0682d6e4ccc61bb30f7b59d599f546b89</guid></item></channel></rss>