A fix is available
APAR status
Closed as program error.
Error description
Development describes that CSQ4BAX3 STORAGE OBTAINs stack storage, saving the input return code into a local stack variable prior to the BPX1PWD call being made. It then passes the stack return and reason code variables to the BPX1PWD call. After the call, the values in the stack fields are stored back in the user-supplied return and reason codes. . The issue occurs if the call to BPX1PWD succeeds with a 'Return_value' of 0. The documentation for BPX1PWD states that the 'Return_code' and 'Reason_code' fields are only populated if the call fails (Return_value == -1). This will result in the stack return and reason code variables not being set when the call succeeds. This is fine for the return code, since MQ has saved the input return code in the variable before the BPX1PWD call, and will return the input value of the user-supplied return code. . However, the same treatment is not applied to the stack reason code variable so that, if the BPX1PWD succeeds, then CSQ4BAX3 will store an uninitialized value into the user-supplied reason code. This value is unpredictable and will propagate through multiple CSQ4BAX3 calls.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 2 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: Sample program CSQ4BAX3 does not * * handle the parameter reason code * * correctly. * **************************************************************** Sample program CSQ4BAX3 is a wrapper for a BPX1PWD call to verify a user ID, password pair. If valid credentials are passed to CSQ4BAX3, then the input reason code will be overwritten with uninitialised storage. This may manifest as a residual reason code from previous CSQ4BAX3 calls.
Problem conclusion
Sample program CSQ4BAX3 has been corrected to not alter the parameter reason code field if valid credentials are passed to it. This is the same behaviour as a BPX1PWD call.
Temporary fix
Comments
APAR Information
APAR number
PH38031
Reported component name
IBM MQ Z/OS V9
Reported component ID
5655MQ900
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-06-10
Closed date
2021-11-05
Last modified date
2022-01-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI77952
Modules/Macros
CSQ4BAX3 CSQ4BCX3
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
R200 PSY UI77952
UP21/12/11 P F112
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"200"}]
Document Information
Modified date:
05 January 2022