My desire is that programs should be designed to gracefully refuse to be
abused, otherwise I tend to classify them as broken.

For example, the huge number of security problems in the Windows world is
caused by buffer overruns. The user (albeit a malicious user) usually
constructs some form of invalid input which causes the program to overrun a
buffer. The carefully crafted damage is such to cause the program to do
something totally unintended by the author. One could argue that the program
was never intended to handle improperly formatted input and was working as
designed. I believe that most programmers only test that their programs
perform the intended functions, and rarely test them to ensure that they
cannot be abused. Indeed it is much harder write a program that not only
does what it was intended to do, but also refuses to be abused into doing
something unintended.

So while a program (which is only intended to be executed from JCL) crashes
when it is given a 10,000 character PARM may not be broken; it can certainly
be improved.

Don Williams

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Gainsford, Allen
Sent: Thursday, October 29, 2009 5:00 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: A modest PARM proposal

<snip>

If a program is only intended to be called from JCL, and it does
not cope with being called with longer parameters, then the program
is not broken.  It is following the rules, and functioning as
intended.  If some clever person calls the program from REXX with
a 10,000-character PARM and the program crashes, it is the caller
who is at fault.  They were not calling the program as intended.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to