Re: BUG #19545: Integer truncation of `GinTuple.keylen` causes out-of-bounds read in parallel GIN index build - Mailing list pgsql-bugs

From Peter Eisentraut
Subject Re: BUG #19545: Integer truncation of `GinTuple.keylen` causes out-of-bounds read in parallel GIN index build
Date
Msg-id 865b7bb1-d75b-4c6b-accb-010f93241ace@eisentraut.org
Whole thread
In response to Re: BUG #19545: Integer truncation of `GinTuple.keylen` causes out-of-bounds read in parallel GIN index build  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On 18.09.26 04:07, Tom Lane wrote:
> Peter Eisentraut <peter@eisentraut.org> writes:
>> I have committed these, thanks.
> 
> The ABI-compliance-checking buildfarm animals have all been unhappy
> since this went in:
> 
> 'struct GinTuple' changed:
>    type size changed from 16 to 24 (in bytes)
>    1 data member deletion:
>      'uint16 keylen', at offset 6 (in bytes)
>    1 data member insertion:
>      'union {Size keylen; double force_align_d; int64 force_align_i64;} u', at offset 8 (in bytes)
>    there are data member changes:
>      'int16 typlen' offset changed from 8 to 16 (in bytes) (by +8 bytes)
>      'bool typbyval' offset changed from 10 to 18 (in bytes) (by +8 bytes)
>      'signed char category' offset changed from 11 to 19 (in bytes) (by +8 bytes)
>      'int nitems' offset changed from 12 to 20 (in bytes) (by +8 bytes)
>      'char data[]' offset changed from 16 to 24 (in bytes) (by +8 bytes)
> 
> Is it really okay to change this struct in v18?
> If so, the .abi-compliance-history files need to be updated.

Yes, I think this is okay.  The type is effectively for internal use 
only and is only used transiently.  I will add the 
.abi-compliance-history entry.




pgsql-bugs by date:

Previous
From: Dean Rasheed
Date:
Subject: Re: wrong results: merge when not matched by source
Next
From: Tom Lane
Date:
Subject: Re: BUG #19694: MIN()/MAX() fails with "more than one row returned by a subquery" under FETCH FIRST ... WITH TIES