pgsql: Don't assume GSSAPI result strings are null-terminated.
От | Tom Lane |
---|---|
Тема | pgsql: Don't assume GSSAPI result strings are null-terminated. |
Дата | |
Msg-id | E1lw7CE-0002yV-Vw@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Don't assume GSSAPI result strings are null-terminated. Our uses of gss_display_status() and gss_display_name() assumed that the gss_buffer_desc strings returned by those functions are null-terminated. It appears that they generally are, given the lack of field complaints up to now. However, the available documentation does not promise this, and some man pages for gss_display_status() show examples that rely on the gss_buffer_desc.length field instead of expecting null termination. Also, we now have a report that on some implementations, clang's address sanitizer is of the opinion that the byte after the specified length is undefined. Hence, change the code to rely on the length field instead. This might well be cosmetic rather than fixing any real bug, but it's hard to be sure, so back-patch to all supported branches. While here, also back-patch the v12 changes that made pg_GSS_error deal honestly with multiple messages available from gss_display_status. Per report from Sudheer H R. Discussion: https://postgr.es/m/5372B6D4-8276-42C0-B8FB-BD0918826FC3@tekenlight.com Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/7eaf65451483a871056036e92e4f0fa0350b5504 Modified Files -------------- src/backend/libpq/auth.c | 25 +++++++++++++++++-------- src/backend/libpq/be-gssapi-common.c | 11 ++++++----- src/interfaces/libpq/fe-gssapi-common.c | 3 ++- 3 files changed, 25 insertions(+), 14 deletions(-)
В списке pgsql-committers по дате отправления: