[vim/f18] - patchlevel 661
Karsten Hopp
karsten at fedoraproject.org
Thu Oct 4 21:38:38 UTC 2012
commit 2d4727e894eed03a7ff97a662cec0e4dd7d725c4
Author: Karsten Hopp <karsten at redhat.com>
Date: Fri Oct 5 00:36:12 2012 +0200
- patchlevel 661
7.3.661 | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 160 insertions(+), 0 deletions(-)
---
diff --git a/7.3.661 b/7.3.661
new file mode 100644
index 0000000..3193e01
--- /dev/null
+++ b/7.3.661
@@ -0,0 +1,160 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.661
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.661 (after 7.3.652)
+Problem: SEGV in Python code.
+Solution: Initialize len to zero. Use the right function depending on
+ version. (Maxim Philippov)
+Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
+
+
+*** ../vim-7.3.660/src/if_py_both.h 2012-09-05 19:09:06.000000000 +0200
+--- src/if_py_both.h 2012-09-12 19:50:07.000000000 +0200
+***************
+*** 74,80 ****
+ static PyObject *
+ OutputWrite(PyObject *self, PyObject *args)
+ {
+! Py_ssize_t len;
+ char *str = NULL;
+ int error = ((OutputObject *)(self))->error;
+
+--- 74,80 ----
+ static PyObject *
+ OutputWrite(PyObject *self, PyObject *args)
+ {
+! Py_ssize_t len = 0;
+ char *str = NULL;
+ int error = ((OutputObject *)(self))->error;
+
+*** ../vim-7.3.660/src/if_python.c 2012-09-05 19:03:51.000000000 +0200
+--- src/if_python.c 2012-09-12 19:52:10.000000000 +0200
+***************
+*** 44,51 ****
+ # undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */
+ #endif
+
+- #define PY_SSIZE_T_CLEAN
+-
+ #include <Python.h>
+ #if defined(MACOS) && !defined(MACOS_X_UNIX)
+ # include "macglue.h"
+--- 44,49 ----
+***************
+*** 54,59 ****
+--- 52,61 ----
+ #undef main /* Defined in python.h - aargh */
+ #undef HAVE_FCNTL_H /* Clash with os_win32.h */
+
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
++ # define PY_SSIZE_T_CLEAN
++ #endif
++
+ static void init_structs(void);
+
+ #define PyBytes_FromString PyString_FromString
+***************
+*** 358,365 ****
+--- 360,374 ----
+ PYTHON_PROC *ptr;
+ } python_funcname_table[] =
+ {
++ #ifndef PY_SSIZE_T_CLEAN
+ {"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse},
+ {"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
++ {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
++ #else
++ {"_PyArg_Parse_SizeT", (PYTHON_PROC*)&dll_PyArg_Parse},
++ {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
++ {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&dll_Py_BuildValue},
++ #endif
+ {"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free},
+ {"PyMem_Malloc", (PYTHON_PROC*)&dll_PyMem_Malloc},
+ {"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString},
+***************
+*** 422,428 ****
+ {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
+ {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
+ {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
+- {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
+ {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
+ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
+ && SIZEOF_SIZE_T != SIZEOF_INT
+--- 431,436 ----
+*** ../vim-7.3.660/src/if_python3.c 2012-09-05 19:09:06.000000000 +0200
+--- src/if_python3.c 2012-09-12 19:52:10.000000000 +0200
+***************
+*** 42,49 ****
+ # undef _DEBUG
+ #endif
+
+- #define PY_SSIZE_T_CLEAN
+-
+ #ifdef F_BLANK
+ # undef F_BLANK
+ #endif
+--- 42,47 ----
+***************
+*** 66,71 ****
+--- 64,73 ----
+ #undef main /* Defined in python.h - aargh */
+ #undef HAVE_FCNTL_H /* Clash with os_win32.h */
+
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
++ # define PY_SSIZE_T_CLEAN
++ #endif
++
+ static void init_structs(void);
+
+ /* The "surrogateescape" error handler is new in Python 3.1 */
+***************
+*** 328,334 ****
+--- 330,342 ----
+ {"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
+ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
+ {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
++ #ifndef PY_SSIZE_T_CLEAN
+ {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
++ {"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
++ #else
++ {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
++ {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&py3_Py_BuildValue},
++ #endif
+ {"PyMem_Free", (PYTHON_PROC*)&py3_PyMem_Free},
+ {"PyMem_Malloc", (PYTHON_PROC*)&py3_PyMem_Malloc},
+ {"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
+***************
+*** 364,370 ****
+ {"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter},
+ {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong},
+ {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New},
+- {"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
+ {"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready},
+ {"PyDict_SetItemString", (PYTHON_PROC*)&py3_PyDict_SetItemString},
+ {"PyLong_AsLong", (PYTHON_PROC*)&py3_PyLong_AsLong},
+--- 372,377 ----
+*** ../vim-7.3.660/src/version.c 2012-09-12 18:19:39.000000000 +0200
+--- src/version.c 2012-09-12 19:53:52.000000000 +0200
+***************
+*** 721,722 ****
+--- 721,724 ----
+ { /* Add new patch number below this line */
++ /**/
++ 661,
+ /**/
+
+--
+Courtroom Quote #19:
+Q: Doctor, how many autopsies have you performed on dead people?
+A: All my autopsies have been performed on dead people.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
More information about the scm-commits
mailing list