From 716c451128a141acbae1ccab6946c716021a977f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 22 Oct 2025 16:22:52 -0400 Subject: [PATCH] Remove useless pstrdup() calls. The result of PLyUnicode_AsString is already palloc'd, so pstrdup'ing it is just a waste of time and memory. More importantly it might confuse people about whether that's necessary. Doesn't seem important enough to back-patch, but we should fix it. Spotted by Coverity. --- src/pl/plpython/plpy_elog.c | 2 +- src/pl/plpython/plpy_plpymodule.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pl/plpython/plpy_elog.c b/src/pl/plpython/plpy_elog.c index f6d10045e5c..a7c664f1ca1 100644 --- a/src/pl/plpython/plpy_elog.c +++ b/src/pl/plpython/plpy_elog.c @@ -571,7 +571,7 @@ get_string_attr(PyObject *obj, char *attrname, char **str) val = PyObject_GetAttrString(obj, attrname); if (val != NULL && val != Py_None) { - *str = pstrdup(PLyUnicode_AsString(val)); + *str = PLyUnicode_AsString(val); } Py_XDECREF(val); } diff --git a/src/pl/plpython/plpy_plpymodule.c b/src/pl/plpython/plpy_plpymodule.c index 1f980b44b2a..89931612c5b 100644 --- a/src/pl/plpython/plpy_plpymodule.c +++ b/src/pl/plpython/plpy_plpymodule.c @@ -369,7 +369,7 @@ PLy_quote_ident(PyObject *self, PyObject *args) return ret; } -/* enforce cast of object to string */ +/* enforce cast of object to string (returns a palloc'd string or NULL) */ static char * object_to_string(PyObject *obj) { @@ -381,7 +381,7 @@ object_to_string(PyObject *obj) { char *str; - str = pstrdup(PLyUnicode_AsString(so)); + str = PLyUnicode_AsString(so); Py_DECREF(so); return str;