]> granicus.if.org Git - python/commitdiff
Use PyOS_snprintf instead of sprintf.
authorJeremy Hylton <jeremy@alum.mit.edu>
Wed, 28 Nov 2001 20:24:33 +0000 (20:24 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Wed, 28 Nov 2001 20:24:33 +0000 (20:24 +0000)
Just being sure.  The old code looks like it was safe, but there's no
harm in double-checking.

Python/exceptions.c

index 4d17529720e33583f60948e20c2ed4b4e7284eff..99002bf1add1f1abe8e6527d7e3bf0895a6254ba 100644 (file)
@@ -810,21 +810,21 @@ SyntaxError__str__(PyObject *self, PyObject *args)
            if (have_filename)
                bufsize += PyString_GET_SIZE(filename);
 
-           buffer = PyMem_Malloc(bufsize);
+           buffer = PyMem_MALLOC(bufsize);
            if (buffer != NULL) {
                if (have_filename && have_lineno)
-                   sprintf(buffer, "%s (%s, line %ld)",
-                           PyString_AS_STRING(str),
-                           my_basename(PyString_AS_STRING(filename)),
-                           PyInt_AsLong(lineno));
+                   PyOS_snprintf(buffer, bufsize, "%s (%s, line %ld)",
+                                 PyString_AS_STRING(str),
+                                 my_basename(PyString_AS_STRING(filename)),
+                                 PyInt_AsLong(lineno));
                else if (have_filename)
-                   sprintf(buffer, "%s (%s)",
-                           PyString_AS_STRING(str),
-                           my_basename(PyString_AS_STRING(filename)));
+                   PyOS_snprintf(buffer, bufsize, "%s (%s)",
+                                 PyString_AS_STRING(str),
+                                 my_basename(PyString_AS_STRING(filename)));
                else if (have_lineno)
-                   sprintf(buffer, "%s (line %ld)",
-                           PyString_AS_STRING(str),
-                           PyInt_AsLong(lineno));
+                   PyOS_snprintf(buffer, bufsize, "%s (line %ld)",
+                                 PyString_AS_STRING(str),
+                                 PyInt_AsLong(lineno));
 
                result = PyString_FromString(buffer);
                PyMem_FREE(buffer);