E.22. Выпуск 14.17

Дата выпуска: 2025-02-20

В этот выпуск вошло несколько исправлений, внесённых после версии 14.16. За информацией о нововведениях версии 14 обратитесь к Разделу E.39.

E.22.1. Миграция на версию 14.17

Если используется версия 14.X, выгрузка/восстановление базы не требуется.

Если вы обновляете сервер с более ранней версии, чем 14.14, см. также Раздел E.25.

E.22.2. Изменения

  • Улучшение поведения функций с обработкой экранирования libpq (Андрес Фройнд, Том Лейн) § § §

    Изменения, внесённые для исправления CVE-2025-1094, имели одно серьёзное упущение: функции PQescapeLiteral() и PQescapeIdentifier() не учитывали параметр длины строк и вместо этого всегда выполняли чтение до завершающего нулевого символа входной строки. Это приводило к включению нежелательного текста в вывод при усечении строки вызывающим кодом через параметр длины, а в некоторых особенно неудачных случаях могло вызывать сбои из-за считывания за пределами памяти.

    Кроме того, все функции с обработкой экранирования были изменены так, чтобы при обнаружении недопустимой кодировки недопустимая последовательность заменялась только на первый байт предполагаемого символа, а не на весь символ. Это снижает риск возникновения проблем, если вызывающее приложение выполняет дополнительную обработку строки с экранированием.

  • Устранение сбоя, связанного с триггерами секционированных таблиц, использующими переходные таблицы (Кётаро Хоригути) §

    При наличии как триггера AFTER UPDATE, так и AFTER DELETE необходимость в переходных таблицах определялась неправильно, что приводило к сбою во время изменений, затрагивающих разные секции.