Re: pgsql: Fix unaligned accesses in DecodeUpdate().

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: pgsql: Fix unaligned accesses in DecodeUpdate().
Дата
Msg-id 20140517202344.GA4484@awork2.anarazel.de
обсуждение исходный текст
Ответ на pgsql: Fix unaligned accesses in DecodeUpdate().  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-committers
Hi,

On 2014-05-17 19:54:05 +0000, Tom Lane wrote:
> Fix unaligned accesses in DecodeUpdate().

> The xl_heap_header_len structures in an XLOG_HEAP_UPDATE record aren't
> necessarily aligned adequately.  The regular replay function for these
> records is aware of that, but decode.c didn't get the memo.  I'm not
> sure why the buildfarm failed to catch this; the test_decoding test
> certainly blows up real good on my old HPPA box.

Hm. It's too bad it's hard to see these cases on x86. I wondered before
why valgrind doesn't catch those...

Some mozilla devs seem to have whipped the feature up quickly enough:
https://bugzilla.mozilla.org/show_bug.cgi?id=476122
Too bad it's not been integrated.

> Also, I'm pretty sure that the address arithmetic was wrong for the
> case of XLOG_HEAP_CONTAINS_OLD and not XLOG_HEAP_CONTAINS_NEW_TUPLE,
> though this apparently can't happen when logical decoding is active.

Yes, that's impossible. It'd be a bit pointless to decode an update
where the new value isn't available. Would kinda hurt while
replicability...

Thanks for fixing.

Andres Freund

--
 Andres Freund                       http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix unaligned accesses in DecodeUpdate().
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix a bunch of functions that were declared static then defined