Issue 16012: pyexpat: Argument for UseForeignDTD should be optional (original) (raw)

Created on 2012-09-24 10:10 by eseifert, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
issue16012.patch christian.heimes,2012-09-24 10:46 review
issue16012_py32.patch christian.heimes,2012-09-24 10:54
Messages (10)
msg171108 - (view) Author: Erich Seifert (eseifert) Date: 2012-09-24 10:10
It seems the recent changes to Modules/pyexpat.c made the boolean 'flag' for UseForeignDTD mandatory although it was optional in previous Python releases. According to the docs the usage is UseForeignDTD([flag]), but calling UseForeignDTD without arguments leads to an error:: >>> from xml.parsers import expat >>> parser = expat.ParserCreate('utf8') >>> parser.UseForeignDTD() Traceback (most recent call last): File "", line 1, in TypeError: UseForeignDTD() takes exactly 1 argument (0 given) This was tested with version bfdf366a779a from hg repository.
msg171110 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2012-09-24 10:36
Confirmed! In Ubuntu's Python 2.7.3 and 3.2.3 UseForeignDTD() can be called without an argument. The hg versions of 2.7, 3.2 and 3.3 require one argument. The change smells like a regression for all affected Python versions. Antoine, it looks like you committed the modification.
msg171111 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2012-09-24 10:42
This seems to be the changeset that introduced the regression b878df1d23b1.
msg171112 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2012-09-24 10:46
I've created a patch with a simple test case.
msg171113 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2012-09-24 10:49
Ah, that's true. Too bad it wasn't tested for :(
msg171115 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2012-09-24 10:54
Don't feel bad. The final hasn't been released yet. :) Here is a slightly different patch for 3.2 and 2.7.
msg171118 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-09-24 11:28
New changeset 22ddf77e0497 by Christian Heimes in branch '3.2': Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() http://hg.python.org/cpython/rev/22ddf77e0497 New changeset 3e0d632ce910 by Christian Heimes in branch '2.7': Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() http://hg.python.org/cpython/rev/3e0d632ce910 New changeset 0f55ad9b07c8 by Christian Heimes in branch 'default': Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() http://hg.python.org/cpython/rev/0f55ad9b07c8
msg171119 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2012-09-24 11:32
Erich, thank you very much for your bug report. Your report made it right in time for the upcoming 3.3.0 final release. Here you are, Georg.
msg171120 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2012-09-24 11:42
Fixed in release clone as b907f99272c5.
msg171555 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-09-29 07:27
New changeset b907f99272c5 by Georg Brandl in branch 'default': Port #16012 fix: parameter parsing regression in pyexpat parser UseForeignDTD() method. http://hg.python.org/cpython/rev/b907f99272c5
History
Date User Action Args
2022-04-11 14:57:36 admin set nosy: + larrygithub: 60216
2012-09-29 07:27:39 python-dev set messages: +
2012-09-24 11:42:17 georg.brandl set status: pending -> closedmessages: +
2012-09-24 11:32:41 christian.heimes set status: open -> pendingmessages: + assignee: georg.brandlresolution: fixedstage: patch review -> resolved
2012-09-24 11:28:20 python-dev set nosy: + python-devmessages: +
2012-09-24 10:54:46 christian.heimes set files: + issue16012_py32.patchmessages: +
2012-09-24 10:49:44 pitrou set messages: +
2012-09-24 10:46:03 christian.heimes set files: + issue16012.patchkeywords: + patchmessages: + stage: patch review
2012-09-24 10:42:16 ezio.melotti set nosy: + ezio.melottimessages: +
2012-09-24 10:36:39 christian.heimes set priority: normal -> release blockernosy: + christian.heimes, georg.brandl, benjamin.peterson, pitroumessages: + keywords: + 3.2regression, 3.3regression
2012-09-24 10:10:04 eseifert create