A fix is available
APAR status
Closed as program error.
Error description
ABEND0C4 PIC 00000038 CSQSHFMN offset 0000059C as Development finds that an application has passed an invalid Options parameter to MQOPEN - whereby instead of containing the expected MQOO_* option values, it contains the string 'MD '. Given the Options parameter is the 3rd parameter for MQOPEN, and the MD is the 3rd parameter for MQPUT/MQGET/MQPUT1 it is thought that the application has attempted to pass the MD in to MQOPEN by mistake. When this unexpected value was processed by CSQMOPEN, an error is detected and CSQMOPEN attempts to return an error. However at this point no handle has been allocated and the pointer to the handle contains unpredictable contents. In this particular case, when the contents of this storage at this residual address was treated as an object handle, it appeared as though there was a topic string area that required freeing, resulting in a call to CSQSHFMN to free 64 bit storage. As this is not a genuine topic string address, CSQSHFMN abended 0C4 attempting to access the storage contents as a 64 bit address.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 3 Modification 0 and * * Release 4 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: An 0C4 abend can occur in CSQSHFMN when * * a batch application issues an MQOPEN * * and incorrectly passes an invalid * * Options parameter. * **************************************************************** A batch application connected to the queue manager and issued an MQOPEN with an invalid Options parameter specified. As a result, CSQMOPEN attempts to return an error. However, the pointer to the handle had not yet been initialised and therefore contained unpredictable contents. This incorrectly resulted in a call to CSQSHFMN and the subsequent attempt to free an invalid topic string which resulted in an 0C4 abend.
Problem conclusion
The code has been changed to initialise the pointer to the handle earlier, resulting in CSQSHFMN not being incorrectly called and therefore preventing the 0C4 abend. In addition, MQRC_OPTIONS_ERROR is returned when an invalid Options parameter is passed.
Temporary fix
Comments
APAR Information
APAR number
PH65708
Reported component name
IBM MQ Z/OS V9
Reported component ID
5655MQ900
Reported release
300
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-03-18
Closed date
2025-08-06
Last modified date
2025-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UO04423 UO04424
Modules/Macros
CSQMOPEN
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
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.
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"300","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]
Document Information
Modified date:
02 October 2025