Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sWVub-00FbHX-Di for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jul 2024 06:55:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sWVuZ-001m1i-IF for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Jul 2024 06:55:43 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sWVuZ-001lws-2S for pgsql-hackers@lists.postgresql.org; Wed, 24 Jul 2024 06:55:43 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sWVuV-0019rb-4d for pgsql-hackers@postgresql.org; Wed, 24 Jul 2024 06:55:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:From:Subject:To:Message-Id:Date:Sender:Reply-To:Cc:Content-ID: Content-Description:In-Reply-To:References; bh=7LCT6mpE4X3qkrOtQ93QcaY+wVQyI06GhueKID5wVj8=; b=mub69v0K5jPHKA5EI+Ca6mfg5Q iQaatMCWS2ze4yO09r+4vFIzkpSBx7PF49mdRaXcQqGDheBgq/Lc/921Z9LC8anEekyvhQbFwfcDw Ck9HvRGpZxBThPxkYraV9Oak5NJi7Eou8vOWeCfV5KAbmJIko6XZmMjtidEIGBzf5C+qIvmSIopw8 yOGMaZpplsd1xMW8vvg1KJTMcw2xlnAeTNWGgLcfPNT8FPeLzwyJFa5qeckJXR7bF93BUK1kEVetv iu2Xhnkykqg4GwD5Ti2Gci+Do4/6geW5d38XUAOJL4Lqd/xRqsqomNikq0ii6gIv2ctPVPLf7H93p R1v664wg==; Received: from [2409:11:4120:300:2216:5d44:5ff2:a9f8] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (Exim 4.94.2) (envelope-from ) id 1sWVuQ-002kIQ-TL for pgsql-hackers@postgresql.org; Wed, 24 Jul 2024 06:55:37 +0000 Date: Wed, 24 Jul 2024 15:55:25 +0900 (JST) Message-Id: <20240724.155525.366150353176322967.ishii@postgresql.org> To: pgsql-hackers@postgresql.org Subject: warning: dereferencing type-punned pointer From: Tatsuo Ishii X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Wed_Jul_24_15_55_25_2024_006)--" Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:2216:5d44:5ff2:a9f8 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ----Next_Part(Wed_Jul_24_15_55_25_2024_006)-- Content-Type: Text/Plain; charset=iso-8859-7 Content-Transfer-Encoding: base64 VG9kYXkgSSBjb21waWxlZCBQb3N0Z3JlU1FMIG1hc3RlciBicmFuY2ggd2l0aCAtZm5vLXN0cmlj dC1hbGlhc2luZw0KY29tcGlsZSBvcHRpb24gcmVtb3ZlZCAocHJldmlvdXMgZGlzY3Vzc2lvbnMg b24gdGhlICRzdWJqZWN0IFsxXSkuIGdjYw0KdmVyc2lvbiBpcyA5LjQuMC4NCg0KVGhlcmUgYXJl IGEgZmV3IHBsYWNlcyB3aGVyZSAkc3ViamVjdCB3YXJuaW5nIHByaW50ZWQuDQoNCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9zcmMvaW5jbHVkZS9ub2Rlcy9wZ19saXN0Lmg6NDIsDQog ICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vc3JjL2luY2x1ZGUvYWNjZXNzL3R1cGRlc2Mu aDoxOSwNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi8uLi9zcmMvaW5jbHVkZS9hY2Nlc3Mv aHR1cF9kZXRhaWxzLmg6MTksDQogICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vc3JjL2lu Y2x1ZGUvYWNjZXNzL2hlYXB0b2FzdC5oOjE2LA0KICAgICAgICAgICAgICAgICBmcm9tIGV4ZWNF eHBySW50ZXJwLmM6NTk6DQpleGVjRXhwckludGVycC5jOiBJbiBmdW5jdGlvbiChRXhlY0V2YWxK c29uRXhwclBhdGiiOg0KLi4vLi4vLi4vc3JjL2luY2x1ZGUvbm9kZXMvbm9kZXMuaDoxMzM6Mjk6 IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0 cmljdC1hbGlhc2luZyBydWxlcyBbLVdzdHJpY3QtYWxpYXNpbmddDQogIDEzMyB8ICNkZWZpbmUg bm9kZVRhZyhub2RlcHRyKSAgKCgoY29uc3QgTm9kZSopKG5vZGVwdHIpKS0+dHlwZSkNCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQou Li8uLi8uLi9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oOjE1ODozMTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIKFub2RlVGFnog0KICAxNTggfCAjZGVmaW5lIElzQShub2RlcHRyLF90eXBl XykgIChub2RlVGFnKG5vZGVwdHIpID09IFRfIyNfdHlwZV8pDQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn4NCi4uLy4uLy4uL3NyYy9pbmNsdWRlL25vZGVzL21p c2Nub2Rlcy5oOjUzOjI2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8goUlzQaINCiAgIDUz IHwgICgoZXNjb250ZXh0KSAhPSBOVUxMICYmIElzQShlc2NvbnRleHQsIEVycm9yU2F2ZUNvbnRl eHQpICYmIFwNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fg0KZXhlY0V4cHJJ bnRlcnAuYzo0Mzk5Ojc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyChU09GVF9FUlJPUl9P Q0NVUlJFRKINCiA0Mzk5IHwgICBpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRCgmanNlc3RhdGUtPmVz Y29udGV4dCkpDQogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4NCmV4ZWNFeHBySW50 ZXJwLmM6IEluIGZ1bmN0aW9uIKFFeGVjRXZhbEpzb25Db2VyY2lvbkZpbmlzaKI6DQouLi8uLi8u Li9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oOjEzMzoyOTogd2FybmluZzogZGVyZWZlcmVuY2lu ZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIFst V3N0cmljdC1hbGlhc2luZ10NCiAgMTMzIHwgI2RlZmluZSBub2RlVGFnKG5vZGVwdHIpICAoKChj b25zdCBOb2RlKikobm9kZXB0cikpLT50eXBlKQ0KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCi4uLy4uLy4uL3NyYy9pbmNsdWRlL25v ZGVzL25vZGVzLmg6MTU4OjMxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8goW5vZGVUYWei DQogIDE1OCB8ICNkZWZpbmUgSXNBKG5vZGVwdHIsX3R5cGVfKSAgKG5vZGVUYWcobm9kZXB0cikg PT0gVF8jI190eXBlXykNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fg0KLi4vLi4vLi4vc3JjL2luY2x1ZGUvbm9kZXMvbWlzY25vZGVzLmg6NTM6MjY6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyChSXNBog0KICAgNTMgfCAgKChlc2NvbnRleHQpICE9IE5V TEwgJiYgSXNBKGVzY29udGV4dCwgRXJyb3JTYXZlQ29udGV4dCkgJiYgXA0KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+DQpleGVjRXhwckludGVycC5jOjQ1NTY6Njogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIKFTT0ZUX0VSUk9SX09DQ1VSUkVEog0KIDQ1NTYgfCAgaWYg KFNPRlRfRVJST1JfT0NDVVJSRUQoJmpzZXN0YXRlLT5lc2NvbnRleHQpKQ0KICAgICAgfCAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn4NCm9yaWdpbi5jOiBJbiBmdW5jdGlvbiChU3RhcnR1cFJlcGxp Y2F0aW9uT3JpZ2luojoNCm9yaWdpbi5jOjc3MzoxNjogd2FybmluZzogZGVyZWZlcmVuY2luZyB0 eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIFstV3N0 cmljdC1hbGlhc2luZ10NCiAgNzczIHwgICAgZmlsZV9jcmMgPSAqKHBnX2NyYzMyYyAqKSAmZGlz a19zdGF0ZTsNCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fg0KDQpJbiBteSB1bmRlcnN0YW5kaW5nIGZyb20gdGhlIGRpc2N1c3Npb24gWzFdLCBpdCB3b3Vs ZCBiZSBiZXR0ZXIgdG8gZml4DQpvdXIgY29kZSB0byBhdm9pZCB0aGUgd2FybmluZyBiZWNhdXNl IGl0ICptaWdodCogcG9pbnQgb3V0IHRoYXQgdGhlcmUNCmlzIHNvbWV0aGluZyB3cm9uZyB3aXRo IG91ciBjb2RlLiBIb3dldmVyIHRoZSBjb25zZW5zdXMgYXQgdGhlIHRpbWUNCndhcywgd2Ugd2ls bCBub3QgcmVtb3ZlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIG9wdGlvbiBmb3Igbm93LiBJdCB3aWxs DQp0YWtlIGxvbmcgdGltZSBiZWZvcmUgaXQgd291bGQgaGFwcGVuLi4uDQoNClNvIEkgdGhpbmsg dGhlIHdhcm5pbmdzIGluIEV4ZWNFdmFsSnNvbkV4cHJQYXRoIGFyZSBiZXR0ZXIgZml4ZWQNCmJl Y2F1c2UgdGhlc2UgYXJlIHRoZSBvbmx5IHBsYWNlcyB3aGVyZSBJc0EgKG5vZGVUYWcpIG1hY3Jv IGFyZSB1c2VkDQphbmQgdGhlIHdhcm5pbmcgaXMgcHJpbnRlZC4gUGF0Y2ggYXR0YWNoZWQuDQoN CkkgYW0gbm90IHNvIHN1cmUgYWJvdXQgU3RhcnR1cFJlcGxpY2F0aW9uT3JpZ2luLiBTaG91bGQg d2UgZml4IGl0IG5vdz8NCkZvciBtZSB0aGUgY29kZSBsb29rcyBzYW5lIGFzIGxvbmcgYXMgd2Ug a2VlcCAtZm5vLXN0cmljdC1hbGlhc2luZw0Kb3B0aW9uLiBPciBtYXliZSBiZXR0ZXIgdG8gZml4 IHNvIHRoYXQgc29tZWRheSB3ZSBjb3VsZCByZW1vdmUgdGhlDQpjb21waWxlciBvcHRpb24/DQoN ClsxXSBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvMzY2LjE1MzU3 MzEzMjQlNDBzc3MucGdoLnBhLnVzI2JkOTMwODkxODJkMTNjNzliNzQ1OTNlYzcwYmFjNDM1DQoN CkJlc3QgcmVhZ2FyZHMsDQotLQ0KVGF0c3VvIElzaGlpDQpTUkEgT1NTIExMQw0KRW5nbGlzaDog aHR0cDovL3d3dy5zcmFvc3MuY28uanAvaW5kZXhfZW4vDQpKYXBhbmVzZTpodHRwOi8vd3d3LnNy YW9zcy5jby5qcA0K ----Next_Part(Wed_Jul_24_15_55_25_2024_006)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fix_ExecEvalJsonExprPath.patch" diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c index d8735286c4..387311fdfb 100644 --- a/src/backend/executor/execExprInterp.c +++ b/src/backend/executor/execExprInterp.c @@ -4381,6 +4381,7 @@ ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, if (!*op->resnull && jsexpr->use_io_coercion) { FunctionCallInfo fcinfo; + Node *node; Assert(jump_eval_coercion == -1); fcinfo = jsestate->input_fcinfo; @@ -4396,7 +4397,8 @@ ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, fcinfo->isnull = false; *op->resvalue = FunctionCallInvoke(fcinfo); - if (SOFT_ERROR_OCCURRED(&jsestate->escontext)) + node = (Node *) &jsestate->escontext; + if (SOFT_ERROR_OCCURRED(node)) error = true; } @@ -4552,8 +4554,9 @@ void ExecEvalJsonCoercionFinish(ExprState *state, ExprEvalStep *op) { JsonExprState *jsestate = op->d.jsonexpr.jsestate; + Node *node = (Node *) &jsestate->escontext; - if (SOFT_ERROR_OCCURRED(&jsestate->escontext)) + if (SOFT_ERROR_OCCURRED(node)) { *op->resvalue = (Datum) 0; *op->resnull = true; ----Next_Part(Wed_Jul_24_15_55_25_2024_006)----