[jsword-devel] [JIRA] Commented: (JS-170) GenBookBackend.contains(key) throws NPE if key not found

DM Smith (JIRA) jira at crosswire.org
Mon Mar 7 06:54:33 MST 2011


    [ http://www.crosswire.org/bugs/browse/JS-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14073#comment-14073 ] 

DM Smith commented on JS-170:
-----------------------------

I just checked in a fix for this. Let me know if it works for you.

> GenBookBackend.contains(key) throws NPE if key not found
> --------------------------------------------------------
>
>                 Key: JS-170
>                 URL: http://www.crosswire.org/bugs/browse/JS-170
>             Project: JSword
>          Issue Type: Bug
>          Components: o.c.jsword.book.sword
>    Affects Versions: 1.6
>         Environment: All
>            Reporter: Martin Denham
>            Assignee: DM Smith
>
> I think there is a bug in GenBookBackend.contains(Key).  
> The find method will return null if the key is not in the book
>             TreeNode node = find(key);
> which means the next line will throw a NullPointerException
>             byte[] userData = node.getUserData();
> Here is the whole method:
>     @Override
>     public boolean contains(Key key) {
>         checkActive();
>         try {
>             DataPolice.setKey(key);
>             TreeNode node = find(key);
>             byte[] userData = node.getUserData();
>             // Some entries may be empty.
>             return userData.length == 8;
>         } catch (IOException e) {
>             return false;
>         } finally {
>             DataPolice.setKey(null);
>         }
>     }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the jsword-devel mailing list