jsonb_set() could produce wrong answers or incorrect error reports, or in
the worst case even crash, when trying to convert a path-array element into
an integer for use as an array subscript. Per report from Vitaly Burovoy.
Back-patch to 9.5 where the faulty code was introduced (in commit
c6947010ceb42143).
Michael Paquier
/* pick correct index */
if (level < path_len && !path_nulls[level])
{
- char *c = VARDATA_ANY(path_elems[level]);
+ char *c = TextDatumGetCString(path_elems[level]);
long lindex;
errno = 0;