postgres.git / summary / log / commit / refs
commit a069218163704c44a8996e7e98e765c56e2b9c8e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu Jan 30 23:25:55 2020 +0000
First released in: 13.0, 11.7, 12.2
In jsonb_plpython.c, suppress warning message from gcc 10.
Very recent gcc complains that PLyObject_ToJsonbValue could return
a pointer to a local variable. I think it's wrong; but the coding
is fragile enough, and the savings of one palloc() minimal enough,
that it seems better to just do a palloc() all the time. (My other
idea of tweaking the if-condition doesn't suppress the warning.)
Back-patch to v11 where this code was introduced.
Discussion: https://postgr.es/m/21547.1580170366@sss.pgh.pa.us
contrib/jsonb_plpython/jsonb_plpython.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/contrib/jsonb_plpython/jsonb_plpython.c b/contrib/jsonb_plpython/jsonb_plpython.c
index b06ad9f9291..e09308daf07 100644
--- a/contrib/jsonb_plpython/jsonb_plpython.c
+++ b/contrib/jsonb_plpython/jsonb_plpython.c
@@ -410,7 +410,6 @@ PLyNumber_ToJsonbValue(PyObject *obj, JsonbValue *jbvNum)
static JsonbValue *
PLyObject_ToJsonbValue(PyObject *obj, JsonbParseState **jsonb_state, bool is_elem)
{
- JsonbValue buf;
JsonbValue *out;
if (!(PyString_Check(obj) || PyUnicode_Check(obj)))
@@ -421,11 +420,7 @@ PLyObject_ToJsonbValue(PyObject *obj, JsonbParseState **jsonb_state, bool is_ele
return PLyMapping_ToJsonbValue(obj, jsonb_state);
}
- /* Allocate JsonbValue in heap only if it is raw scalar value. */
- if (*jsonb_state)
- out = &buf;
- else
- out = palloc(sizeof(JsonbValue));
+ out = palloc(sizeof(JsonbValue));
if (obj == Py_None)
out->type = jbvNull;
[parent: 74618e77b43c]