A fix is available
APAR status
Closed as program error.
Error description
COBOL v4.2 uses a MOVE CHARACTER LONG (MVCL) to implement such moves, and thus avoids writing past the target item. COBOL v6.x uses a simpler/faster move predicated on the reference modification length being valid. If the length is invalid ie. greater than the target item length, then item(s) after the target item may be overlaid. This can happen when the full length of the source item is less than or equal to the target item length; in other cases an intermediate item is used.
Local fix
Use SSRANGE to detect bad reference modifications
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling * * programs that MOVE alphanumeric data * * between data items where the sender is * * reference-modified, with a length larger * * than the receiver * **************************************************************** * PROBLEM DESCRIPTION: The number of bytes specified in the * * reference modifier from the start of * * the sender are moved to the receiver, * * overwriting data items following the * * receiver instead of only writing to * * the end of the receiver. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** Enterprise COBOL V6 was generating a more efficient sequence of instructions for moving alphanumeric data between data items than V4. V4 used instructions that wouldn't write past the end of the receiver, even if more bytes were specified, while V6 used instructions that wrote the specified number of bytes, regardless of the size of the receiver.
Problem conclusion
The compiler was fixed to not write past the end of the receiver when ZONEDATA(NOPFD) or ZONEDATA(MIG) are specified. This will have worse performance than using ZONEDATA(PFD).
Temporary fix
Comments
APAR Information
APAR number
PH15358
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
620
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-08-06
Closed date
2019-09-18
Last modified date
2019-10-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCASMB IGYCCBE IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D IGYCJA$R IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV IGYEQCWI IGYMSGE IGYMSGK IGYMSGT IGYQCBE IGYZQDRV IGYZQENU IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R620 PSY UI65366
UP19/09/21 P F909
R621 PSY UI65367
UP19/09/21 P F909
R622 PSY UI65368
UP19/09/21 P F909
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023