- Issue #13703: oCERT-2011-003: add -R command-line option and PYTHONHASHSEED
environment variable, to provide an opt-in way to protect against denial of
service attacks due to hash collisions within the dict and set types. Patch
by David Malcolm, based on work by Victor Stinner.
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 91fe224..e73e5c2 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1224,6 +1224,7 @@
{"unicode", "-U"},
/* {"skip_first", "-x"}, */
{"bytes_warning", "-b"},
+ {"hash_randomization", "-R"},
{0}
};
@@ -1232,9 +1233,9 @@
flags__doc__, /* doc */
flags_fields, /* fields */
#ifdef RISCOS
- 16
+ 17
#else
- 15
+ 16
#endif
};
@@ -1271,6 +1272,7 @@
SetFlag(Py_UnicodeFlag);
/* SetFlag(skipfirstline); */
SetFlag(Py_BytesWarningFlag);
+ SetFlag(Py_HashRandomizationFlag);
#undef SetFlag
if (PyErr_Occurred()) {