git: d5b2d60fc769 - main - textproc/py-pylibxml2: rm patch that scans garbage
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 23 May 2025 22:17:21 UTC
The branch main has been updated by truckman: URL: https://cgit.FreeBSD.org/ports/commit/?id=d5b2d60fc76964a3e5b8f50d2992bd751f688f04 commit d5b2d60fc76964a3e5b8f50d2992bd751f688f04 Author: Don Lewis <truckman@FreeBSD.org> AuthorDate: 2025-05-23 21:48:34 +0000 Commit: Don Lewis <truckman@FreeBSD.org> CommitDate: 2025-05-23 22:17:11 +0000 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 --- textproc/libxml2/files/patch-python_libxml.c | 35 ---------------------------- textproc/py-libxml2/Makefile | 2 +- 2 files changed, 1 insertion(+), 36 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); - } diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile index 84796bac21b3..7633fdebb4a1 100644 --- a/textproc/py-libxml2/Makefile +++ b/textproc/py-libxml2/Makefile @@ -1,4 +1,4 @@ -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= textproc gnome python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}