[HACKERS] bugfix: xpath encoding issue

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема [HACKERS] bugfix: xpath encoding issue
Дата
Msg-id CAFj8pRB-FZ1_dYE4rS8iXQDBz6f=pnLq6k+S8XPRLTnHhqWxBQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: [HACKERS] bugfix: xpath encoding issue  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
Hi

When I tested XMLTABLE function I found a bug of XPATH function - xpath_internal

There xmltype is not correctly encoded to xmlChar due possible invalid encoding info in header. It is possible when XML was loaded with recv function and has not UTF8 encoding.

The functions based on xml_parse function works well.

The fix is simple

diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c
index f81cf489d2..89aae48cb3 100644
--- a/src/backend/utils/adt/xml.c
+++ b/src/backend/utils/adt/xml.c
@@ -3874,9 +3874,11 @@ xpath_internal(text *xpath_expr_text, xmltype *data, ArrayType *namespaces,
        ns_count = 0;
    }
 
-   datastr = VARDATA(data);
-   len = VARSIZE(data) - VARHDRSZ;
+   datastr = xml_out_internal(data, 0);
+   len = strlen(datastr);
+
    xpath_len = VARSIZE(xpath_expr_text) - VARHDRSZ;
+
    if (xpath_len == 0)
        ereport(ERROR,
                (errcode(ERRCODE_DATA_EXCEPTION),

Regards

Pavel

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

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: [HACKERS][REVIEW] macaddr 64 bit (EUI-64) datatype support
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: [HACKERS][REVIEW] macaddr 64 bit (EUI-64) datatype support