pgsql: Initialize padding bytes in btree_gist varbit support.

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Initialize padding bytes in btree_gist varbit support.
Дата
Msg-id E1WkBsM-0004kK-Fn@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Initialize padding bytes in btree_gist varbit support.

The code expands a varbit gist leaf key to a node key by copying the bit
data twice in a varlen datum, as both the lower and upper key. The lower key
was expanded to INTALIGN size, but the padding bytes were not initialized.
That's a problem because when the lower/upper keys are compared, the padding
bytes are used compared too, when the values are otherwise equal. That could
lead to incorrect query results.

REINDEX is advised for any btree_gist indexes on bit or bit varying data
type, to fix any garbage padding bytes on disk.

Per Valgrind, reported by Andres Freund. Backpatch to all supported
versions.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/540ac7cea919623f691b20892ccc50e5e33b5009

Modified Files
--------------
contrib/btree_gist/btree_bit.c |   12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)


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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Initialize padding bytes in btree_gist varbit support.
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Initialize padding bytes in btree_gist varbit support.