]> granicus.if.org Git - python/commitdiff
vgetargskeywords: Prevent another potential sprintf buffer overrun.
authorTim Peters <tim.peters@gmail.com>
Sat, 27 Oct 2001 06:53:00 +0000 (06:53 +0000)
committerTim Peters <tim.peters@gmail.com>
Sat, 27 Oct 2001 06:53:00 +0000 (06:53 +0000)
Python/getargs.c

index 8b6b3067b79a88d95df8d3e8efeea84607afbefc..658d2857b57dc51797dab8159cac868de0a2fdc4 100644 (file)
@@ -1027,7 +1027,7 @@ static int
 vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
                 char **kwlist, va_list *p_va)
 {
-       char msgbuf[256];
+       char msgbuf[512];
        int levels[32];
        char *fname, *message;
        int min, max;
@@ -1138,7 +1138,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
        if (len < min || max < len) {
                if (message == NULL) {
                        sprintf(msgbuf,
-                               "%s%s takes %s %d argument%s (%d given)",
+                               "%.200s%s takes %s %d argument%s (%d given)",
                                fname==NULL ? "function" : fname,
                                fname==NULL ? "" : "()",
                                min==max ? "exactly"