[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rakesh R updated ZOOKEEPER-1189:
--------------------------------

    Attachment: ZOOKEEPER-1189.patch

Attached the patch, Please review the fix.

> For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream 
> is leaking.
> ----------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1189
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1189
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.3.3
>            Reporter: Rakesh R
>             Fix For: 3.3.4
>
>         Attachments: ZOOKEEPER-1189.patch
>
>
> When loading the snapshot, ZooKeeper will consider only the 'snapshots with 
> atleast 10 bytes size'. Otherwsie it will ignore and just return without 
> closing the RandomAccessFile.
> {noformat}
> Util.isValidSnapshot() having the following logic. 
>        // Check for a valid snapshot
>         RandomAccessFile raf = new RandomAccessFile(f, "r");
>         // including the header and the last / bytes
>         // the snapshot should be atleast 10 bytes
>         if (raf.length() < 10) {
>             return false;
>         }
> {noformat}
> Since the snapshot file validation logic is outside try block, it won't go to 
> the finally block and will be leaked.
> Suggestion: Move the validation logic to the try/catch block.

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

        

Reply via email to