| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
fromfile(), to hold fread() result.)
|
|
|
|
| |
to hold strlen() outcome).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patches fixes a possible overflow of the optional timeout
parameter for the select() function (selectmodule.c). This timeout is
passed in as a double and then truncated to an int. If the double is
sufficiently large you can get unexpected results as it
overflows. This patch raises an overflow if the given select timeout
overflows.
[GvR: To my embarrassment, the original code was assuming an int could
always hold a million. Note that the overflow check doesn't test for
a very large *negative* timeout passed in -- but who in the world
would do such a thing?]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various small fixes to the builtin module to ensure no buffer
overflows.
- chunk #1:
Proper casting to ensure no truncation, and hence no surprises, in the
comparison.
- chunk #2:
The id() function guarantees a unique return value for different
objects. It does this by returning the pointer to the object. By
returning a PyInt, on Win64 (sizeof(long) < sizeof(void*)) the pointer
is truncated and the guarantee may be proven false. The appropriate
return function is PyLong_FromVoidPtr, this returns a PyLong if that
is necessary to return the pointer without truncation.
[GvR: note that this means that id() can now return a long on Win32
platforms. This *might* break some code...]
- chunk #3:
Ensure no overflow in raw_input(). Granted the user would have to pass
in >2GB of data but it *is* a possible buffer overflow condition.
|
|
|
|
| |
tableii & friends markup family.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
are and are not turned into bound methods; some confusion was noted by
Andrew Dalke.
In particular, it has to be noted that functions located on the class
instance are not turned into any sort of method, only those which are
found via the underlying class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As I really do not have anything better to do at the moment, I have written
a patch to Python/marshal.c that prevents Python dumping core when trying
to marshal stack bustingly deep (or recursive) data structure.
It just throws an exception; even slightly clever handling of recursive
data is what pickle is for...
[Fred Drake:] Moved magic constant 5000 to a #define.
This closes SourceForge patch #100645.
|
|
|
|
|
|
|
|
| |
Testing: test_array.py was also extended to check that one can set the
full range of values for each of the integral signed and unsigned
array types.
This closes SourceForge patch #100506.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cause: Relatively recent (last month) patches to getargs.c added
overflow checking to the PyArg_Parse*() integral formatters thereby
restricting 'b' to unsigned char value and 'h','i', and 'l' to signed
integral values (i.e. if the incoming value is outside of the
specified bounds you get an OverflowError, previous it silently
overflowed).
The problem: This broke the array module (as Fredrik pointed out)
because *its* formatters relied on the loose allowance of signed and
unsigned ranges being able to pass through PyArg_Parse*()'s
formatters.
The fix: This patch fixes the array module to work with the more
strict bounds checking now in PyArg_Parse*().
How: If the type signature of a formatter in the arraymodule exactly
matches one in PyArg_Parse*(), then use that directly. If there is no
equivalent type signature in PyArg_Parse*() (e.g. there is no unsigned
int formatter in PyArg_Parse*()), then use the next one up and do some
extra bounds checking in the array module.
This partially closes SourceForge patch #100506.
|
|
|
|
| |
Documentation updates related to the addition of openpty() and forkpty().
|
|
|
|
|
|
|
|
|
|
|
|
| |
Perfect hash table generator. Outputs a Python extension module
which provides access to the hash table (which is stored in static
C data) using custom code.
This module can currently only generates code for the ucnhash
module, but can easily be adapted to produce perfect hash tables
for other tasks where fast lookup in large tables is needed.
By Bill Tutt.
|
|
|
|
|
| |
Generator for the new ucnhash module (ucnhash.h|c). Uses perfect_hash.py
to create the ucnhash module.
|
|
|
|
|
|
| |
Utility extension module needed by perfect_hash.py
By Bill Tutt.
|
|
|
|
|
|
|
|
| |
Patch to the standard unicode-escape codec which dynamically
loads the Unicode name to ordinal mapping from the module
ucnhash.
By Bill Tutt.
|
|
|
|
| |
Added new ucnhash module by Bill Tutt.
|
|
|
|
| |
Added new ucnhash module.
|
|
|
|
| |
Updated test output.
|
|
|
|
|
| |
Added tests for the new Unicode character name support in the
standard unicode-escape codec.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the openpty() and forkpty() library calls to posixmodule.c,
when they are available on the target
system. (glibc-2.1-based Linux systems, FreeBSD and BSDI at least, probably
the other BSD-based systems as well.)
Lib/pty.py is also rewritten to use openpty when available, but falls
back to the old SGI method or the "manual" BSD open-a-pty
code. Openpty() is necessary to use the Unix98 ptys under Linux 2.2,
or when using non-standard tty names under (at least) BSDI, which is
why I needed it, myself ;-) forkpty() is included for symmetry.
|
|
|
|
|
|
|
| |
MSVC project file for the new module ucnhash. This may have to
be added to pcbuild.dsw with an dependancy on python16.
By Bill Tutt.
|
|
|
|
|
|
| |
New ucnhash module by Bill Tutt. This module contains the hash
table needed to map Unicode character names to Unicode ordinals
and is loaded on-the-fly by the standard unicode-escape codec.
|
|
|
|
|
|
| |
Exports the C API of the new ucnhash module.
By Bill Tutt.
|
|
|
|
| |
based on response from Frank Stajano <fstajano@uk.research.att.com>.
|
| |
|
|
|
|
| |
based on comments from Frank Stajano <fstajano@uk.research.att.com>.
|
|
|
|
|
|
|
| |
<skip@mojam.com>. Revisions to the markup to make it pass LaTeX, added
an index entry and a reference from the sys.exitfunc documentation.
This closes SourceForge patch #100620.
|
| |
|
|
|
|
|
| |
Better error message for "1 in unicodestring". Submitted
by Andrew Kuchling.
|
|
|
|
| |
noted the minimum recommended version in the message.
|
|
|
|
| |
Various minor fixes
|
|
|
|
| |
'link_shared_object()'.
|
|
|
|
|
|
|
| |
methods (but not 'link_executable()', hmmm). Currently only used by
BCPPCompiler; it's a dummy parameter for UnixCCompiler and MSVCCompiler.
Also added 'bcpp' to compiler table used by 'new_compiler()'.
|
| |
|
|
|
|
|
|
|
|
| |
Two major points:
* lots of overlap with MSVCCompiler; the common code really should be
factored out into a base class, say WindowsCCompiler
* it doesn't work: weird problem spawning the linker (see comment for
details)
|
|
|
|
|
| |
command objects.
Various formatting tweaks, typo fixes in comments.
|
| |
|
|
|
|
|
| |
Define a STRICT_SYSV_CURSES macro on SGI, Sun, and Tru64, to mark systems
that don't support some features.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
getmouse(), ungetmouse(), and window.enclose(). wmouse_trafo() seems
of marginal importance at the moment.
|
| |
|
|
|
|
|
| |
Ditched my old code that fixed relative paths in the Makefile -- didn't work,
doomed to failure, etc.
|