diff --git a/lib/core/settings.py b/lib/core/settings.py index 97686ba0c..d513ea59d 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -18,7 +18,7 @@ from lib.core.enums import OS from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.4.10.1" +VERSION = "1.4.10.2" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) diff --git a/lib/utils/hash.py b/lib/utils/hash.py index 3845391e8..87f347177 100644 --- a/lib/utils/hash.py +++ b/lib/utils/hash.py @@ -1147,6 +1147,12 @@ def dictionaryAttack(attack_dict): warnMsg = "user aborted during dictionary-based attack phase (Ctrl+C was pressed)" logger.warn(warnMsg) + finally: + if _multiprocessing: + gc.enable() + + # NOTE: https://github.com/sqlmapproject/sqlmap/issues/4367 + # NOTE: https://dzone.com/articles/python-101-creating-multiple-processes for process in processes: try: process.terminate() @@ -1154,10 +1160,6 @@ def dictionaryAttack(attack_dict): except (OSError, AttributeError): pass - finally: - if _multiprocessing: - gc.enable() - if retVal: if conf.hashDB: conf.hashDB.beginTransaction()