Re: Buffer overflow in SerializeLibraryState() found by Address Sanitizer
В списке pgsql-hackers по дате отправления:
| От | David Geier |
|---|---|
| Тема | Re: Buffer overflow in SerializeLibraryState() found by Address Sanitizer |
| Дата | |
| Msg-id | c87fd627-972b-4a17-a83c-b79e2f935d4a@gmail.com обсуждение |
| Ответ на | Re: Buffer overflow in SerializeLibraryState() found by Address Sanitizer (Daniel Gustafsson <daniel@yesql.se>) |
| Список | pgsql-hackers |
The loop advances the pointer via start_address += len. -- David Geier (ServiceNow On 6/10/2025 3:06 PM, Daniel Gustafsson wrote: >> On 10 Jun 2025, at 14:59, David Geier <geidav.pg@gmail.com> wrote: >> >> Hi hackers! >> >> SerializeLibraryState() writes 1 byte too much into the buffer pointed to by start_address. This is the very last '\0'it writes after the loop. Attached is a patch that fixes the problem by accounting for that extra byte in EstimateLibraryStateSpace() > The last '\0' written isn't performed in relation to the size, but at a fixed > index in the buffer: > > ... > } > start_address[0] = '\0'; > > How would that cause a buffer overflow? > > -- > Daniel Gustafsson > -- David Geier (ServiceNow)
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера