[COMMITTERS] pgsql: Fix datumSerialize infrastructure to not crash on non-varlenada
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | [COMMITTERS] pgsql: Fix datumSerialize infrastructure to not crash on non-varlenada |
| Дата | |
| Msg-id | E1dfDlm-0008B1-Kx@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Fix datumSerialize infrastructure to not crash on non-varlena data. Commit 1efc7e538 did a poor job of emulating existing logic for touching Datums that might be expanded-object pointers. It didn't check for typlen being -1 first, which meant it could crash on fixed-length pass-by-ref values, and probably on cstring values as well. It also didn't use DatumGetPointer before VARATT_IS_EXTERNAL_EXPANDED, which while currently harmless is not according to documentation nor prevailing style. I also think the lack of any explanation as to why datumSerialize makes these particular nonobvious choices is pretty awful, so fix that. Per report from Jarred Ward. Back-patch to 9.6 where this code came in. Discussion: https://postgr.es/m/6F61E6D2-2F5E-4794-9479-A429BE1CEA4B@simple.com Branch ------ REL9_6_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/fe578cbd4b4262496d44cb5cd110eae3c4aff48c Modified Files -------------- src/backend/utils/adt/datum.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера