Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2023-08-13T14:35:43Z
Lists: pgsql-bugs
Alexander Lakhin <exclusion@gmail.com> writes: > I can also propose a regression test addition that demonstrates the valgrind > complaint and also the output of gtsvectorout() for the case ISALLTRUE and > the opposite. OK, but ... > This addition increases the duration of `make check -C contrib/pageinspect` > under valgrind by 7-8 seconds for me: [ ie, more than triple its previous runtime ] ... that seems completely unacceptable cost-wise. I'd be inclined to commit the fix without a supporting test case, instead of that. Given that the misapplication of GETSIGN is causing an incorrect pointer to be passed to sizebitvec(), how come the error is not leading to outright wrong answers? I guess because it's in picksplit, the worst outcome normally is a poor choice of split, so maybe exhibiting wrong behavior in a detectable way is hard. > In absence of any objections or other propositions, I'm inclined to register > this bugfix on the commitfest. Please do that in any case, so we don't forget about it. regards, tom lane
Commits
-
Improve description of keys in tsvector
- aa0d3504560d 17.0 landed
-
Fix out-of-bound read in gtsvector_picksplit()
- 358cd2b25109 11.22 landed
- 40ddb8db9f2c 12.17 landed
- 82fa8ae5f9ac 13.13 landed
- df11421d8242 14.10 landed
- 88aa4a049aca 15.5 landed
- fac3fa0d5b21 16.0 landed
- ae10dbb0c5e0 17.0 landed