[Python-checkins] r59686 - in python/trunk: Misc/NEWS Modules/_tkinter.c
guido.van.rossum
python-checkins at python.org
Fri Jan 4 00:54:04 CET 2008
Author: guido.van.rossum
Date: Fri Jan 4 00:54:04 2008
New Revision: 59686
Modified:
python/trunk/Misc/NEWS
python/trunk/Modules/_tkinter.c
Log:
Bug #1301: fixed a bad assert in _tkinter.
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS (original)
+++ python/trunk/Misc/NEWS Fri Jan 4 00:54:04 2008
@@ -907,6 +907,8 @@
Extension Modules
-----------------
+- Bug #1301: Bad assert in _tkinter fixed.
+
- Added bdist_wininst executable for VS 2008.
- Bug #1604: collections.deque.__init__(iterable) now clears any prior contents
Modified: python/trunk/Modules/_tkinter.c
==============================================================================
--- python/trunk/Modules/_tkinter.c (original)
+++ python/trunk/Modules/_tkinter.c Fri Jan 4 00:54:04 2008
@@ -936,10 +936,12 @@
/* This #ifdef assumes that Tcl uses UCS-2.
See TCL_UTF_MAX test above. */
#if defined(Py_UNICODE_WIDE) && TCL_UTF_MAX == 3
- Tcl_UniChar *outbuf;
+ Tcl_UniChar *outbuf = NULL;
Py_ssize_t i;
- assert(size < size * sizeof(Tcl_UniChar));
- outbuf = (Tcl_UniChar*)ckalloc(size * sizeof(Tcl_UniChar));
+ size_t allocsize = ((size_t)size) * sizeof(Tcl_UniChar);
+ if (allocsize >= size)
+ outbuf = (Tcl_UniChar*)ckalloc(allocsize);
+ /* Else overflow occurred, and we take the next exit */
if (!outbuf) {
PyErr_NoMemory();
return NULL;
More information about the Python-checkins
mailing list