IBM Support

IT22764: Silent failures when converting invalid byte sequences as character input

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An application programmer should expect that if the input data
    is malformed in a UTF-8, UTF-16 or UCS-2 bytestream, then MQGET
    (with MQGMO_CONVERT in the options) will return an error or
    warning, normally with MQRC_DBCS_ERROR.
    
    However for some malformed data the MQGET call was returning
    with MQCC_OK, MQRC_NONE (that is, success).
    
    Therefore the conversion appears to have succeeded but in fact
    some of the bytes were misinterpreted and the output message is
    not an accurate converted version of the original.
    
    Additionally, if the bytestream is *valid* but gives a character
    that has no position in the target character set, then the
    correct behaviour is to place a valid replacement character in
    the output bytestream.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects applications that supply incorrect input
    bytes in their messages, and then request MQ to convert them to
    a target character set.
    
    
    Platforms affected:
    Linux on Power, Linux on x86-64, Linux on zSeries, Solaris
    SPARC, Solaris x86-64, Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The validation checks executed while parsing the input
    bytestream were identifying the invalid data, but, instead of
    rejecting the input, they added a replacement character to the
    output and continued.
    
    In this state it is also possible to misinterpret the bytes that
    follow the invalid sequence, leading to further errors.
    
    On distributed platforms the correct behaviour is to mark the
    conversion as failed, and return an error or warning, with
    accompanying reason code MQRC_DBCS_ERROR, as soon as any parsing
    error has been noticed.
    

Problem conclusion

  • The MQ code has been corrected, so that an error or warning is
    returned in the scenario described.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.0 CD    9.0.5
    v9.0 LTS   9.0.0.3
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT22764

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-10-12

  • Closed date

    2018-01-05

  • Last modified date

    2018-02-12

  • 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

    IBM MQ BASE M/P

  • Fixed component ID

    5724H7261

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
12 February 2018