From 938652fbec9f6f63bbb477c4ba3abc3910697336 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 7 Nov 2023 22:50:57 +0100 Subject: [PATCH] Revert "gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)" This reverts commit cde1071b2a72e8261ca66053ef61431b7f3a81fd. --- Python/getargs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Python/getargs.c b/Python/getargs.c index 4d91818ad21a44..5a12ca8def74fa 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -932,15 +932,19 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, } else { /* "s" or "z" */ const char **p = va_arg(*p_va, const char **); + Py_ssize_t len; sarg = NULL; if (c == 'z' && arg == Py_None) *p = NULL; else if (PyUnicode_Check(arg)) { - sarg = PyUnicode_AsUTF8(arg); - if (sarg == NULL) { + sarg = PyUnicode_AsUTF8AndSize(arg, &len); + if (sarg == NULL) return converterr(CONV_UNICODE, arg, msgbuf, bufsize); + if (strlen(sarg) != (size_t)len) { + PyErr_SetString(PyExc_ValueError, "embedded null character"); + RETURN_ERR_OCCURRED; } *p = sarg; }