pgsql: Fix latent crash in do_text_output_multiline().

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix latent crash in do_text_output_multiline().
Дата
Msg-id E1b4uPV-0002Nb-4U@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix latent crash in do_text_output_multiline().

do_text_output_multiline() would fail (typically with a null pointer
dereference crash) if its input string did not end with a newline.  Such
cases do not arise in our current sources; but it certainly could happen
in future, or in extension code's usage of the function, so we should fix
it.  To fix, replace "eol += len" with "eol = text + len".

While at it, make two cosmetic improvements: mark the input string const,
and rename the argument from "text" to "txt" to dodge pgindent strangeness
(since "text" is a typedef name).

Even though this problem is only latent at present, it seems like a good
idea to back-patch the fix, since it's a very simple/safe patch and it's
not out of the realm of possibility that we might in future back-patch
something that expects sane behavior from do_text_output_multiline().

Per report from Hao Lee.

Report: <CAGoxFiFPAGyPAJLcFxTB5cGhTW2yOVBDYeqDugYwV4dEd1L_Ag@mail.gmail.com>

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/9d91cd865bdc52ee2ebe70447be582fabfe88664

Modified Files
--------------
src/backend/executor/execTuples.c | 19 +++++++++----------
src/include/executor/executor.h   |  2 +-
2 files changed, 10 insertions(+), 11 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix latent crash in do_text_output_multiline().
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix latent crash in do_text_output_multiline().