IBM Support

IZ85834: DISABLE-OUTPUT-ESCAPING NOT HANDLING SURROGATE PAIRS PROPERLY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Enable disable-output-escaping in
    xsl(<xsl:value-of disable-output-escaping="yes"
    select="$briefDescription"/>), javax.xml.transform.Transformer
    un-escape the value. For extension B character, it only
    transforms the low byte of the character into decimal value, the
    high byte value is removed. For example, for extensionB
    character U+20013, its unicode is "D840 DE0B", after the
    transforming, it changes to "&#56843;" which is the decimal
    value for "DE0B". When I tried sun JDK, it can be transferred to
    correct decimal value, that is, &#131091;.
    .
    Stack Trace: N/A
    .
    N/A
    

Local fix

Problem summary

  • There seems to be a bug in the XLTXE-J processor in the way we
    parse UTF-8 surrogate pairs when disable-output-escaping is
    turned on. Every time we reach a high surrogate pair character,
    we would immediately read the next low surrogate pair character
    after that but the index would only be incremented once even
    though two characters were read. So the next character
    encountered would be a low surrogate pair which of course is not
    recognized and thus explains why it was escaped
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR9
    .
    The logical for incrementing the index was modify to fix this
    problem.
    .
    To obtain the fix:
    Install build 20101002 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ85834

  • Reported component name

    XML/XSL

  • Reported component ID

    620700126

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-10-01

  • Closed date

    2010-10-05

  • Last modified date

    2010-10-05

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XML/XSL

  • Fixed component ID

    620700126

Applicable component levels

  • R600 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3V","label":"XML"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
05 October 2010