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 1swGYt-002lOT-HT for pgsql-hackers@arkaria.postgresql.org; Thu, 03 Oct 2024 07:47:48 +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 1swGYr-00B8uA-7D for pgsql-hackers@arkaria.postgresql.org; Thu, 03 Oct 2024 07:47:45 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1swGYq-00B8u2-T4 for pgsql-hackers@lists.postgresql.org; Thu, 03 Oct 2024 07:47:44 +0000 Received: from air.basealt.ru ([194.107.17.39]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1swGYn-002JhC-7u for pgsql-hackers@lists.postgresql.org; Thu, 03 Oct 2024 07:47:44 +0000 Received: by air.basealt.ru (Postfix, from userid 490) id 67D222F2023F; Thu, 3 Oct 2024 07:47:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on air.basealt.ru X-Spam-Level: X-Spam-Status: No, score=-2.9 required=7.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 Received: from [10.4.129.65] (unknown [193.43.10.250]) by air.basealt.ru (Postfix) with ESMTPSA id 171382F2023B; Thu, 3 Oct 2024 07:47:41 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------QNbodmburGGxWKW6vv4VUTXw" Message-ID: <98e18ffc-c402-4710-ae28-6d6dbcf08e44@altlinux.org> Date: Thu, 3 Oct 2024 10:47:40 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: pgsql-hackers@lists.postgresql.org Cc: egori@altlinux.org, nickel@altlinux.org Reply-To: kuznetsovam@altlinux.org From: Alexander Kuznetsov Subject: [PATCH] Check for TupleTableSlot nullness before dereferencing List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------QNbodmburGGxWKW6vv4VUTXw Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello everyone, I'd like to propose adding check for nullness of TupleTableSlot before dereferencing it in /src/backend/executor/nodeAgg.c It is done in the same manner other TupleTableSlots are checked, but was probably left unseen because slot1 and slot2 variables can be swapped during function execution. The patch is attached. -- Best regards, Alexander Kuznetsov --------------QNbodmburGGxWKW6vv4VUTXw Content-Type: text/x-patch; charset=UTF-8; name="0001-Check-for-TupleTableSlot-nullness-before-dereferenci.patch" Content-Disposition: attachment; filename*0="0001-Check-for-TupleTableSlot-nullness-before-dereferenci.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmNDkwZDQ4NWUzZGJkZmVjN2M2ODA0YmQ5NmFlNDdiNWE2MGQ3Yzk2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS3V6bmV0c292IDxrdXpuZXRzb3Zh bUBhbHRsaW51eC5vcmc+CkRhdGU6IFRodSwgMyBPY3QgMjAyNCAxMDoyNDowOCArMDMwMApT dWJqZWN0OiBbUEFUQ0hdIENoZWNrIGZvciBUdXBsZVRhYmxlU2xvdCBudWxsbmVzcyBiZWZv cmUgZGVyZWZlcmVuY2luZwoKQXQgdGhlIGJlZ2lubmluZyBvZiBwcm9jZXNzX29yZGVyZWRf YWdncmVnYXRlX211bHRpKCkKc2xvdDEgaXMgYXNzdW1lZCB0byBub3QgYmUgTlVMTCwgd2hp bGUgc2xvdDIgY2FuIGJlIE5VTEwuCkxhdGVyLCBpZiAobnVtRGlzdGluY3RDb2xzID4gMCks IHNsb3QxIGFuZCBzbG90MiBhcmUgc3dhcHBlZCwKYW5kIHNsb3QxICh3aXRoIHBvc3NpYmxl IGNvbnRlbnRzIG9mIHNsb3QyKSBpcyBkZXJlZmVyZW5jZWQgYnkgRXhlY0NsZWFyVHVwbGUo KS4KQWRkIGNoZWNrIGZvciBudWxsbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZy4KCkZvdW5k IGJ5IEFMVCBMaW51eCBUZWFtIHdpdGggU3ZhY2UuCi0tLQogc3JjL2JhY2tlbmQvZXhlY3V0 b3Ivbm9kZUFnZy5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2Rl QWdnLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlQWdnLmMKaW5kZXggNTNlYWQ3N2Vj ZS4uMjZlNzkzOGE0NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUFn Zy5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVBZ2cuYwpAQCAtMTAxMyw3ICsx MDEzLDggQEAgcHJvY2Vzc19vcmRlcmVkX2FnZ3JlZ2F0ZV9tdWx0aShBZ2dTdGF0ZSAqYWdn c3RhdGUsCiAJCS8qIFJlc2V0IGNvbnRleHQgZWFjaCB0aW1lICovCiAJCVJlc2V0RXhwckNv bnRleHQodG1wY29udGV4dCk7CiAKLQkJRXhlY0NsZWFyVHVwbGUoc2xvdDEpOworCQlpZiAo c2xvdDEpCisJCQlFeGVjQ2xlYXJUdXBsZShzbG90MSk7CiAJfQogCiAJaWYgKHNsb3QyKQot LSAKMi40Mi4yCgo= --------------QNbodmburGGxWKW6vv4VUTXw--