Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'
Дата
Msg-id CAPpHfdtSQr-G7Lct_VLy7uAEH9tR5V4LghxtNZQ9pQBmJbZu0g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
On Wed, Nov 15, 2023 at 8:04 AM Andres Freund <andres@anarazel.de> wrote:
>
> On 2023-11-14 14:42:13 +0200, Alexander Korotkov wrote:
> > It's possibly dumb option, but what about just removing the assert?
>
> That's not at all an option - the in-place bms_* functions can free their
> input. So a dangling pointer to the "old" version is a use-after-free waiting
> to happen - you just need a query that actually gets to bitmapsets that are a
> bit larger.

Yeah, now I got it, thank you.  I was under the wrong impression that
bitmapset has the level of indirection, so the pointer remains valid.
Now, I see that bitmapset manipulation functions can do free/repalloc
making the previous bitmapset pointer invalid.

------
Regards,
Alexander Korotkov



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: Fix documentation for pg_stat_statements JIT deform_counter
Следующее
От: Alexander Korotkov
Дата:
Сообщение: Re: Assert failure on 'list_member_ptr(rel->joininfo, restrictinfo)'