"I meant what I said and I said what I meant,
A sysprog is faithful, 100%"
>From "Horton Hears an IPL" by Dr. Seus.
You're losing track of your indirect addresses:
R1 -> Paramaeter list
+0 -> H'length',C'characters'
+4 Doesn't exist for jobstep.
The end-of-list flag is X'80' at offset 0 in the parameter list.
PARM='(' results in R1 -> Parameter list
+0 -> H'1,C'('
with an X'0" flag at offset 0 in the list, not in the parameter list address in
R1.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of
Paul Gilmartin <[email protected]>
Sent: Monday, November 18, 2019 3:36 PM
To: [email protected]
Subject: Re: AUTHPGM in IKJTSOxx
On Mon, 18 Nov 2019 19:35:31 +0000, Seymour J Metz wrote:
>A program designed to run as a jobstep expects a parameter list whose first
>word points to a halfword length field followed by a character string of that
>length. The Initiator will always flag the first word with an end-of-list bit.
>So if the program follows normal rules, you can't pass it an address that way.
>
No. That end-of-list bit is set in the address of the PARM, not in the PARM.
So, PARM='(' (x-4d') results in '(', not 'D' (x'CD'). And that bit has little
effect except for branch-and-set-mode.
How is PARM passed to an AMODE 64 program?
>Of course, another, unauthorized, program can call it with a longer parameter
>list, but then it won't be running authorized and there is no exposure.
>
Yes.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN