From: Tom Lane Date: Wed, 22 Oct 2025 20:22:52 +0000 (-0400) Subject: Remove useless pstrdup() calls. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=716c451128a141acbae1ccab6946c716021a977f;p=thirdparty%2Fpostgresql.git 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. --- 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;