From 1b81084106e98ebc6f90766e29788d2541df047f Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 23 Oct 2015 23:48:41 +0200 Subject: [PATCH] Fixes #1484 --- lib/utils/hashdb.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/utils/hashdb.py b/lib/utils/hashdb.py index 555be564b..9b7ea8de3 100644 --- a/lib/utils/hashdb.py +++ b/lib/utils/hashdb.py @@ -69,6 +69,7 @@ class HashDB(object): def retrieve(self, key, unserialize=False): retVal = None + if key and (self._write_cache or os.path.isfile(self.filepath)): hash_ = HashDB.hashKey(key) retVal = self._write_cache.get(hash_) @@ -86,7 +87,16 @@ class HashDB(object): raise SqlmapDataException, errMsg else: break - return retVal if not unserialize else unserializeObject(retVal) + + if unserialize: + try: + retVal = unserializeObject(retVal) + except: + warnMsg = "error occurred while unserializing value for session key '%s'. " % key + warnMsg += "If the problem persists please rerun with `--flush-session`" + logger.warn(warnMsg) + + return retVal def write(self, key, value, serialize=False): if key: