gh-159739: Handle interpreter configuration encoding errors (#159747)

Propagate UTF-8 conversion errors before copying a string configuration
value.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-10-19-19-33-35.gh-issue-159739.a8775b.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-10-19-19-33-35.gh-issue-159739.a8775b.rst
new file mode 100644
index 0000000..73c2e9b
--- /dev/null
+++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-10-19-19-33-35.gh-issue-159739.a8775b.rst
@@ -0,0 +1,2 @@
+Avoid a crash when an interpreter configuration string cannot be encoded as
+UTF-8.
diff --git a/Python/interpconfig.c b/Python/interpconfig.c
index a37bd3f..9ff28f8 100644
--- a/Python/interpconfig.c
+++ b/Python/interpconfig.c
@@ -133,7 +133,12 @@ _config_dict_copy_str(PyObject *dict, const char *name,
         config_dict_invalid_type(name);
         return -1;
     }
-    strncpy(buf, PyUnicode_AsUTF8(item), bufsize-1);
+    const char *str = PyUnicode_AsUTF8(item);
+    if (str == NULL) {
+        Py_DECREF(item);
+        return -1;
+    }
+    strncpy(buf, str, bufsize-1);
     buf[bufsize-1] = '\0';
     Py_DECREF(item);
     return 0;