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}