Changeset 25552

Show
Ignore:
Timestamp:
09.05.2012 13:57:28 (7 years ago)
Author:
sjm84
Message:

We need to check that a key exists before we try to get it otherwise it may cause a seg-fault (problem in the jni code somewhere)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/GDBMWrapper.java

    r24393 r25552  
    175175            return null; 
    176176        } 
    177         String s_info; 
     177        String s_info = null; 
    178178        try 
    179179        { 
     
    181181            { 
    182182                // The key is UTF8: do db lookup using the UTF8 version of key 
    183                 s_info = (String) db_.fetch(key.getBytes("UTF-8")); 
     183                if (db_.exists(key.getBytes("UTF-8"))) 
     184                { 
     185                    s_info = (String) db_.fetch(key.getBytes("UTF-8")); 
     186                } 
    184187            } 
    185188            catch (UnsupportedEncodingException e) 
     
    214217            return false; 
    215218        } 
    216          
     219 
    217220        try 
    218221        { 
     
    238241            return false; 
    239242        } 
    240          
     243 
    241244        try 
    242245        { 
     
    249252            return false; 
    250253        } 
    251          
     254 
    252255        return true; 
    253256    }