Index: src/pl/plpython/plpython.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/pl/plpython/plpython.c,v retrieving revision 1.90.2.2 diff -p -u -c -r1.90.2.2 plpython.c *** src/pl/plpython/plpython.c 15 Oct 2007 15:53:12 -0000 1.90.2.2 --- src/pl/plpython/plpython.c 22 Nov 2007 11:57:14 -0000 *************** PLy_vprintf(const char *fmt, va_list ap) *** 2990,3005 **** blen = strlen(fmt) * 2; if (blen < 256) blen = 256; ! buf = PLy_malloc(blen * sizeof(char)); while (1) { ! bchar = vsnprintf(buf, blen, fmt, ap); if (bchar > 0 && bchar < blen) return buf; if (tries-- <= 0) break; ! if (blen > 0) blen = bchar + 1; else blen *= 2; --- 2990,3009 ---- blen = strlen(fmt) * 2; if (blen < 256) blen = 256; ! buf = PLy_malloc(blen); while (1) { ! va_list ap2; ! va_copy(ap2, ap); ! bchar = vsnprintf(buf, blen, fmt, ap2); ! va_end(ap2); ! if (bchar > 0 && bchar < blen) return buf; if (tries-- <= 0) break; ! if (bchar > 0) blen = bchar + 1; else blen *= 2;