X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FSDBM_File%2FSDBM_File.xs;h=6aafb6b99fd0cb171897b634c95fad5f017000d8;hb=46471bde41ad0777edf7b89818df6730e8b55c20;hp=24b2b833e5fd010df5f2a3237f9ef1bf48af487d;hpb=aa0165afdda5e71e536a890f6b073619c221d9bd;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/SDBM_File/SDBM_File.xs b/ext/SDBM_File/SDBM_File.xs index 24b2b83..6aafb6b 100644 --- a/ext/SDBM_File/SDBM_File.xs +++ b/ext/SDBM_File/SDBM_File.xs @@ -53,16 +53,18 @@ void sdbm_DESTROY(db) SDBM_File db CODE: - sdbm_close(db->dbp); - if (db->filter_fetch_key) - SvREFCNT_dec(db->filter_fetch_key) ; - if (db->filter_store_key) - SvREFCNT_dec(db->filter_store_key) ; - if (db->filter_fetch_value) - SvREFCNT_dec(db->filter_fetch_value) ; - if (db->filter_store_value) - SvREFCNT_dec(db->filter_store_value) ; - safefree(db) ; + if (db) { + sdbm_close(db->dbp); + if (db->filter_fetch_key) + SvREFCNT_dec(db->filter_fetch_key) ; + if (db->filter_store_key) + SvREFCNT_dec(db->filter_store_key) ; + if (db->filter_fetch_value) + SvREFCNT_dec(db->filter_fetch_value) ; + if (db->filter_store_value) + SvREFCNT_dec(db->filter_store_value) ; + safefree(db) ; + } datum_value sdbm_FETCH(db, key)