diff options
author | Don Lewis <truckman@FreeBSD.org> | 2025-05-23 14:48:34 -0700 |
---|---|---|
committer | Don Lewis <truckman@FreeBSD.org> | 2025-05-23 15:17:11 -0700 |
commit | d5b2d60fc76964a3e5b8f50d2992bd751f688f04 (patch) | |
tree | fdbaede811b85b274e5bc736cb991a34821d1b1a /textproc/libxml2/files | |
parent | x11/screengrab: Update to 3.0.0 (diff) |
textproc/py-pylibxml2: rm patch that scans garbage
Remove a local patch that scans stack garbage for a pattern and then uses
the pointer after the array has been filled with actual data. This can
cause random segfaults.
The patch is under textproc/libxml2, but the patched file is only used by
textproc/py-pylibxml2.
The UTF-8 issue this was intended to fix was fixed upstream in a more
comprehensive way in 2.11.0 with this commit:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/76c6da420923f2721a2e16adfcef8707a2454a1b
PR: 286439 279034
Approved by: desktop (makc)
Tested by: vvd
MFH: 2025Q2
Diffstat (limited to 'textproc/libxml2/files')
-rw-r--r-- | textproc/libxml2/files/patch-python_libxml.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/textproc/libxml2/files/patch-python_libxml.c b/textproc/libxml2/files/patch-python_libxml.c deleted file mode 100644 index 7bbc98d75033..000000000000 --- a/textproc/libxml2/files/patch-python_libxml.c +++ /dev/null @@ -1,35 +0,0 @@ ---- python/libxml.c.orig 2023-08-11 20:30:35 UTC -+++ python/libxml.c -@@ -1606,12 +1606,19 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, - PyObject *message; - PyObject *result; - char str[1000]; -+ unsigned char *ptr = (unsigned char *)str; - - #ifdef DEBUG_ERROR - printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); - #endif - -+#if PY_MAJOR_VERSION >= 3 -+ /* Ensure the error string doesn't start at UTF8 continuation. */ -+ while (*ptr && (*ptr & 0xc0) == 0x80) -+ ptr++; -+#endif - -+ - if (libxml_xmlPythonErrorFuncHandler == NULL) { - va_start(ap, msg); - vfprintf(stderr, msg, ap); -@@ -1625,9 +1632,11 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, - list = PyTuple_New(2); - PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt); - Py_XINCREF(libxml_xmlPythonErrorFuncCtxt); -- message = libxml_charPtrConstWrap(str); -+ message = libxml_charPtrConstWrap(ptr); - PyTuple_SetItem(list, 1, message); - result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list); -+ /* Forget any errors caused in the error handler. */ -+ PyErr_Clear(); - Py_XDECREF(list); - Py_XDECREF(result); - } |