Author: futatuki
Date: Mon Jul 8 15:30:35 2019
New Revision: 1862755
URL: http://svn.apache.org/viewvc?rev=1862755&view=rev
Log:
On branch swig-py3: avoid crash when status is NULL
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
(svn_swig_py_client_status_func) Allow NULL for status.
Modified:
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
Modified:
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL:
http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1862755&r1=1862754&r2=1862755&view=diff
==============================================================================
---
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
(original)
+++
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
Mon Jul 8 15:30:35 2019
@@ -3057,15 +3057,30 @@ void svn_swig_py_client_status_func(void
if it is occurred, and restore error indicator */
PyErr_Fetch(&exc_type, &exc, &exc_traceback);
- if ((result = PyObject_CallFunction(function,
+ if (status == NULL)
+ {
+ result = PyObject_CallFunction(function,
#if IS_PY3
- (char *)"yO&O&",
+ (char *)"yOO&",
#else
- (char *)"sO&O&",
+ (char *)"sOO&",
#endif
- path,
- make_ob_client_status, status,
- make_ob_pool, scratch_pool)) == NULL)
+ path, Py_None,
+ make_ob_pool, scratch_pool);
+ }
+ else
+ {
+ result = PyObject_CallFunction(function,
+#if IS_PY3
+ (char *)"yO&O&",
+#else
+ (char *)"sO&O&",
+#endif
+ path,
+ make_ob_client_status, status,
+ make_ob_pool, scratch_pool);
+ }
+ if (result == NULL)
{
err = callback_exception_error();
}