IBM Support

PH15358: Under some circumstances a MOVE source with a bad reference modification length may overlay data after the target

A fix is available

Subscribe

You can track all active APARs for this component.

 

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:

    PH16560

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