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 1qdA7d-002Ojo-HS for pgsql-bugs@arkaria.postgresql.org; Mon, 04 Sep 2023 14:00:09 +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 1qdA7c-00Bc27-BU for pgsql-bugs@arkaria.postgresql.org; Mon, 04 Sep 2023 14:00:08 +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 1qdA7c-00Bc1t-2I for pgsql-bugs@lists.postgresql.org; Mon, 04 Sep 2023 14:00:07 +0000 Received: from mail-lj1-x236.google.com ([2a00:1450:4864:20::236]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qdA7Y-00301B-KG for pgsql-bugs@lists.postgresql.org; Mon, 04 Sep 2023 14:00:07 +0000 Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2be32d17f04so22491951fa.0 for ; Mon, 04 Sep 2023 07:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693836003; x=1694440803; darn=lists.postgresql.org; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=FGMjMdyWw7AijUG3sBut5M26LeHprZ5zxnk1VxmX9KI=; b=JaNw/jEAace4JK04Dt+C3AftB0JxqsnjgJEnsW52YCTk8TSSxnUpzmZ9uA4l92yjr8 /iqs/ykzAY804/xCLpZnEkL3FaBjKy8uhkw37P8+q8FDHRtuT53IK48Y/A1Vt3G9R4Ou SH1i3pa3NwNpUZCw9Idzk18bszS8Dl0Qd9udHLofekLu5bAbegklT+Are1oADj2g98Cx zdAQfOT/7zwbpXvUOtEmpEHEgT3Uk4fQRD5gsfhB00yLqxLt9UJXLy+BSSEdT+UM+cHu tmTx8+Cih51b4H8gwBlKlbjNtStzlE5aFY6QOP7RIwLslYylARee4v+Qqd6PNbENQ/Ca 53mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693836003; x=1694440803; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FGMjMdyWw7AijUG3sBut5M26LeHprZ5zxnk1VxmX9KI=; b=COfaA6cfjgqXCmQV46esVuzKEYWhJIch2ABDWtSy3zGOvqd8vbLEoAE8gZPYk735Am p989vLm3GZIdfMxqpws6LPGNshlRWQ/ElEY5stV4D4vCzYR7taYqHcUepqX8OhdsZ1RB iiqWohbJJnNQno2KGyWmZ8NM3vau0L2u7ybpEKKfNohTP8cGlt6PpAPhQjdcJ2wzqHHG rfJdn5jUfUglJGTNK6Wk4XFke9vIMiyYKprNxwZ8PUHEtq3I4rm5uLL9MTeDW0rBYs3a LE/H80iU+96WQBgSCNXUoqD3sPP0I210J6EzqfIBwPoqi+uaR+zLve58uB4tHjDZmDkF lp3Q== X-Gm-Message-State: AOJu0Yw7FZhF82hAl269Zjj+2NnCEc507ZvwkxLQ4UspxnpSVPIEsDB+ 5uT5tbbrgyLeD4aTQGjvtGg= X-Google-Smtp-Source: AGHT+IGAulMkvPyPtbFYdb+Osw23k9K2RdxeNURb0Aijg0U1dhJcb3uoPU32aV4UlCk/G40VY/O3Dw== X-Received: by 2002:a2e:9295:0:b0:2b6:d603:7667 with SMTP id d21-20020a2e9295000000b002b6d6037667mr6814652ljh.8.1693836003201; Mon, 04 Sep 2023 07:00:03 -0700 (PDT) Received: from [1.0.0.7] ([178.155.23.103]) by smtp.gmail.com with ESMTPSA id w17-20020a05651c103100b002bce87faca9sm2143856ljm.57.2023.09.04.07.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 Sep 2023 07:00:02 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------NxaS8Gx25ldpOfVEt4foodgR" Message-ID: <81a75261-2dec-53f6-40f9-5d3ed13f42ee@gmail.com> Date: Mon, 4 Sep 2023 17:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: BUG #17950: Incorrect memory access in gtsvector_picksplit() Content-Language: en-US To: Michael Paquier Cc: Tom Lane , pgsql-bugs@lists.postgresql.org References: <17950-6c80a8d2b94ec695@postgresql.org> <665394.1691937343@sss.pgh.pa.us> <09fec706-0691-a131-5c6c-3e64ecc134fc@gmail.com> From: Alexander Lakhin In-Reply-To: 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. --------------NxaS8Gx25ldpOfVEt4foodgR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Mchael, Thank you for committing the fix! 04.09.2023 09:35, Michael Paquier wrote: > Regarding the changes in gtsvectorout(), the output produced is indeed > confusing when ISALLTRUE is set. > > - int siglen = GETSIGLEN(key); > - int cnttrue = (ISALLTRUE(key)) ? SIGLENBIT(siglen) : sizebitvec(GETSIGN(key), siglen); > + if (ISALLTRUE(key)) > + sprintf(outbuf, "all true bits"); > + else > + { > + int siglen = GETSIGLEN(key); > + int cnttrue = (ISALLTRUE(key)) ? SIGLENBIT(siglen) : sizebitvec(GETSIGN(key), siglen); > > - sprintf(outbuf, SINGOUTSTR, cnttrue, (int) SIGLENBIT(siglen) - cnttrue); > + sprintf(outbuf, SINGOUTSTR, cnttrue, (int) SIGLENBIT(siglen) - cnttrue); > + } > > In the false branch of ISALLTRUE(key), why isn't cnttrue always > calculated with sizebitvec()? Yes, that expression should be simpler there. Please look at the v2 attached. > It's also not something I would > backpatch. That's confusing, for sure, but there is also the argument > of keeping a consistent output in the stable branches. I agree. Let's not backpatch it. Best regards, Alexander --------------NxaS8Gx25ldpOfVEt4foodgR Content-Type: text/x-patch; charset=UTF-8; name="v2-02-fix-gtsvectorout.patch" Content-Disposition: attachment; filename="v2-02-fix-gtsvectorout.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYwppbmRleCAxMmE0MTExZTk5Li4yNzNmOWIw OTI1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNnaXN0aWR4LmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jCkBAIC0xMTUsMTAgKzExNSwx NSBAQCBndHN2ZWN0b3JvdXQoUEdfRlVOQ1RJT05fQVJHUykKIAkJc3ByaW50ZihvdXRidWYs IEFSUk9VVFNUUiwgKGludCkgQVJSTkVMRU0oa2V5KSk7CiAJZWxzZQogCXsKLQkJaW50CQkJ c2lnbGVuID0gR0VUU0lHTEVOKGtleSk7Ci0JCWludAkJCWNudHRydWUgPSAoSVNBTExUUlVF KGtleSkpID8gU0lHTEVOQklUKHNpZ2xlbikgOiBzaXplYml0dmVjKEdFVFNJR04oa2V5KSwg c2lnbGVuKTsKKwkJaWYgKElTQUxMVFJVRShrZXkpKQorCQkJc3ByaW50ZihvdXRidWYsICJh bGwgdHJ1ZSBiaXRzIik7CisJCWVsc2UKKwkJeworCQkJaW50CQkJc2lnbGVuID0gR0VUU0lH TEVOKGtleSk7CisJCQlpbnQJCQljbnR0cnVlID0gc2l6ZWJpdHZlYyhHRVRTSUdOKGtleSks IHNpZ2xlbik7CiAKLQkJc3ByaW50ZihvdXRidWYsIFNJTkdPVVRTVFIsIGNudHRydWUsIChp bnQpIFNJR0xFTkJJVChzaWdsZW4pIC0gY250dHJ1ZSk7CisJCQlzcHJpbnRmKG91dGJ1Ziwg U0lOR09VVFNUUiwgY250dHJ1ZSwgKGludCkgU0lHTEVOQklUKHNpZ2xlbikgLSBjbnR0cnVl KTsKKwkJfQogCX0KIAogCVBHX0ZSRUVfSUZfQ09QWShrZXksIDApOwo= --------------NxaS8Gx25ldpOfVEt4foodgR--