Revert strlen -> strnlen optimization pre-v11.
authorTom Lane <[email protected]>
Sat, 23 Mar 2019 21:35:05 +0000 (17:35 -0400)
committerTom Lane <[email protected]>
Sat, 23 Mar 2019 21:35:05 +0000 (17:35 -0400)
We don't have a src/port substitute for that function in older branches,
so it fails on platforms lacking the function natively.  Per buildfarm.

src/backend/utils/adt/xml.c

index d01d4fe492e86f9228bdb3977bf398155f76104b..931f4c3e8fd6b893a76811c597f9a35ed37d48be 100644 (file)
@@ -1155,15 +1155,8 @@ parse_xml_decl(const xmlChar *str, size_t *lenp,
    if (xmlStrncmp(p, (xmlChar *) "<?xml", 5) != 0)
        goto finished;
 
-   /*
-    * If next char is a name char, it's a PI like <?xml-stylesheet ...?>
-    * rather than an XMLDecl, so we have done what we came to do and found no
-    * XMLDecl.
-    *
-    * We need an input length value for xmlGetUTF8Char, but there's no need
-    * to count the whole document size, so use strnlen not strlen.
-    */
-   utf8len = strnlen((const char *) (p + 5), MAX_MULTIBYTE_CHAR_LEN);
+   /* if next char is name char, it's a PI like <?xml-stylesheet ...?> */
+   utf8len = strlen((const char *) (p + 5));
    utf8char = xmlGetUTF8Char(p + 5, &utf8len);
    if (PG_XMLISNAMECHAR(utf8char))
        goto finished;