]> granicus.if.org Git - python/commitdiff
_PySys_Init(): It's rarely a good idea to size a buffer to the
authorTim Peters <tim.peters@gmail.com>
Tue, 6 Jun 2006 00:25:07 +0000 (00:25 +0000)
committerTim Peters <tim.peters@gmail.com>
Tue, 6 Jun 2006 00:25:07 +0000 (00:25 +0000)
exact maximum size someone guesses is needed.  In this case, if
we're really worried about extreme integers, then "cp%d" can
actually need 14 bytes (2 for "cp" + 1 for \0 at the end +
11 for -(2**31-1)).  So reserve 128 bytes instead -- nothing is
actually saved by making a stack-local buffer tiny.

Python/sysmodule.c

index 9de46a9c49156d333e66f188f002c756185b0e48..785653ede0a6fe1bd8c0b70a80ffa765b03b568e 100644 (file)
@@ -1031,7 +1031,7 @@ _PySys_Init(void)
        PyObject *sysin, *sysout, *syserr;
        char *s;
 #ifdef MS_WINDOWS
-       char buf[13];
+       char buf[128];
 #endif
 
        m = Py_InitModule3("sys", sys_methods, sys_doc);