On May 20, 2005, at 5:16 PM, Peter Hunkeler wrote:
How many of the programs designed to run in batch are coded to cope
with longer than 100 byte parms? Not too many probably. Programs need
to verify data they receive from "untrusted sources". PARM is untrusted
because it is entered "manually". How many programs have code to verify
the PARM does not exceed 100 bytes. None, probably, because it is an
architectural limit; JCL inhibits longer than 100 byte PARMs, no need
to verify again in the program.
Many programs are. In a concurrent thread there is discussion about
linking a single compile unit for use in batch and CICS. I do this
with most everything I write under the general principle of keeping
environment specific details abstracted in separate modules. Pretty
much anything I write will accept a halfword prefixed pstring as a
parameter, in some cases (JCL, TSO) that is limited to 100 bytes, in
other cases, (IMS, CICS) that is 32k/64k bytes.
Imagine some typo in the JCL makes the PARM longer than 100, say 102
bytes. Imagine the program moves the PARM to some internal variable.
Imagine the variable next to this variable is a halfword constant
used in some calculation. Imagine the program modifies data in a data
base applying the calculation to some data base fields. The program
won't fail; it will happily run with an arbitrary value in the formula.
Dangerous incompatibility, isn't it?
You have put the cart before the horse. None of your existing,
functional, JCL passes a parm longer than 100 bytes -- if it did it
would be non-functional JCL that provided only errors.
In order for you to receive the errors you fear, you will need to
change your JCL to pass more bytes than your programs are expecting.
This is always a problem -- for 100 bytes or 65535 bytes.
The fix is simple. Just don't pass more than a program is expecting.
Today, that is a certain error (JCL error), tomorrow it will still be
an error (program not expecting error). Either way it is an error.
Nothing in this change can break a program that is currently working
correctly today.
[EMAIL PROTECTED]
Q: How many Marxist revolutionaries does it take to change a
proletarian lightbulb?
A: None.� A proletarian lightbulb contains the seeds of its own
revolution.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html