diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-01-30 18:25:56 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-01-30 18:26:15 -0500 |
commit | 39428be9ce8f4fa124ad6207e18e57c6c2478316 (patch) | |
tree | f427ee3fab03eaf5502eafd4f894dc49ae2cace6 /contrib/jsonb_plpython/jsonb_plpython.c | |
parent | 2c56b3ac436db2d24aa11bdd22f45becf2030607 (diff) | |
download | postgresql-39428be9ce8f4fa124ad6207e18e57c6c2478316.tar.gz postgresql-39428be9ce8f4fa124ad6207e18e57c6c2478316.zip |
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
Diffstat (limited to 'contrib/jsonb_plpython/jsonb_plpython.c')
-rw-r--r-- | contrib/jsonb_plpython/jsonb_plpython.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/contrib/jsonb_plpython/jsonb_plpython.c b/contrib/jsonb_plpython/jsonb_plpython.c index 1bc984d5c4d..67565042c63 100644 --- a/contrib/jsonb_plpython/jsonb_plpython.c +++ b/contrib/jsonb_plpython/jsonb_plpython.c @@ -367,7 +367,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))) @@ -378,11 +377,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; |