[ python-Bugs-979739 ] compile of code with incorrect encoding yields MemoryError
SourceForge.net
noreply at sourceforge.net
Mon Oct 3 16:03:20 CEST 2005
Bugs item #979739, was opened at 2004-06-25 07:45
Message generated for change (Comment added) made by atuining
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=979739&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Parser/Compiler
Group: Python 2.3
Status: Closed
Resolution: Duplicate
Priority: 5
Submitted By: Anthony Tuininga (atuining)
Assigned to: Neal Norwitz (nnorwitz)
Summary: compile of code with incorrect encoding yields MemoryError
Initial Comment:
The following code will fail in both Python 2.3 and
Python 2.4, raising a MemoryError exception, when run
on any platform except Windows:
compile("# -*- coding: mbcs -*-", "test.py", "exec")
This has been reproduced on the following platforms:
Linux x86
HP-UX
Solaris
Tru64 Unix
I realize this is an invalid encoding but it would be
nice if something other than MemoryError was raised!
----------------------------------------------------------------------
>Comment By: Anthony Tuininga (atuining)
Date: 2005-10-03 08:03
Message:
Logged In: YES
user_id=619560
No need to backport -- the solution is quite simple. I was
simply reporting it so that it would eventually get fixed.
And it has, so I'm happy. :-)
----------------------------------------------------------------------
Comment By: Neal Norwitz (nnorwitz)
Date: 2005-10-02 23:00
Message:
Logged In: YES
user_id=33168
Duplicate of #772896. This has been fixed in CVS. It's up
to Anthony whether it should be backported to 2.4 or not.
----------------------------------------------------------------------
Comment By: Michael Hudson (mwh)
Date: 2004-08-07 15:33
Message:
Logged In: YES
user_id=6656
Here's a simple and seemingly effective patch. I'm not sure
it's "the right thing", though. The whole issue of whether
the parser should or should not set exceptions is a
frightful mess.
----------------------------------------------------------------------
Comment By: Thomas Heller (theller)
Date: 2004-06-25 13:09
Message:
Logged In: YES
user_id=11105
I assume the behaviour occurrs when an unknown encoding is
specified. It can be reproduced on Windows:
compile("# -*- coding: xxx -*-", "test.py", "exec")
It should probably raise a SyntaxError, as trying to import
a module containing this encoding does.
The problem seems that when
PyParser_ParseStringFlagsFilename() calls
PyTokenizer_FromString(), and when the latter fails the
error is set to E_NOMEM.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=979739&group_id=5470
More information about the Python-bugs-list
mailing list