[3.4] bpo-34623: Use XML_SetHashSalt in _elementtree by stratakis · Pull Request #9953 · python/cpython (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation7 Commits2 Checks0 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
The C accelerated _elementtree module now initializes hash randomization salt from _Py_HashSecret instead of libexpat's default CPRNG.
Signed-off-by: Christian Heimes christian@python.org
https://bugs.python.org/issue34623 (cherry picked from commit cb5778f)
Co-authored-by: Christian Heimes christian@python.org
@@ -3259,6 +3259,11 @@ xmlparser_init(PyObject *self, PyObject *args, PyObject *kwds) |
---|
PyErr_NoMemory(); |
return -1; |
} |
/* expat < 2.1.0 has no XML_SetHashSalt() */ |
if (EXPAT(SetHashSalt) != NULL) { |
EXPAT(SetHashSalt)(self_xp->parser, |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the only line that has been modified from the previous PR's. Namely it's self_xp->parser
on 3.4. On the other branches it's self->parser
due to argumentclinication.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
@tiran: Would you mind to review it as well?
Oh, Travis CI failed on a random failure:
======================================================================
ERROR: test_ignore (test.test_multiprocessing_forkserver.TestIgnoreEINTR)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/python/cpython/Lib/test/_test_multiprocessing.py", line 3623, in test_ignore
os.kill(p.pid, signal.SIGUSR1)
ProcessLookupError: [Errno 3] No such process
I scheduled a new job.
I closed/reopened the PR to trigger a new Travis CI job.
@larryhastings: Please replace #
with GH-
in the commit message next time. Thanks!
Thank for the backported fix!