diff --git a/Main.hs b/Main.hs index 64df6ff..62eee1f 100644 --- a/Main.hs +++ b/Main.hs @@ -192,8 +192,11 @@ deleteLocalStorage = do whitelist <- asks whitelist let path = webengine "Local Storage" "leveldb" + dbIsOk <- liftIO $ D.doesFileExist (path "LOCK") + when (not dbIsOk) (throwError "Database is missing or corrupted") + version <- withDB path (\db -> L.get db def "VERSION") - when (version /= Just "1") (throwError "Unsupported schema version") + when (version /= Just "1") (throwError "Database is empty or the schema unsupported") withDB path $ \db -> do badDomains <- L.withIterator db def $ \i -> @@ -234,8 +237,11 @@ deleteSessionStorage = do whitelist <- asks whitelist let path = webengine "Session Storage" + dbIsOk <- liftIO $ D.doesFileExist (path "LOCK") + when (not dbIsOk) (throwError "Database is missing or corrupted") + version <- withDB path (\db -> L.get db def "version") - when (version /= Just "1") (throwError "Unsupported schema version") + when (version /= Just "1") (throwError "Database is empty or the schema unsupported") withDB path $ \db -> do -- map of id -> isBad