Re: [Announce] FreeVMS 0.1.3
From: Tom Linden (tom_at_kednos.com)
Date: 03/17/05
- Next message: Stalliano: "Mulitiple jobs in 2 seperate $batch queues"
- Previous message: Hein: "Re: Removing "Extra" Carriage Returns (was: DIFF/IGNORE=WHITE_SPACE)"
- In reply to: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Next in thread: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Reply: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 17 Mar 2005 07:44:56 -0800
On Thu, 17 Mar 2005 14:56:17 +0000 (UTC), Michael Kraemer
<m.kraemer@gsi.de> wrote:
> In article <opsnsdivu4zgicya@hyrrokkin>, "Tom Linden" <tom@kednos.com>
> writes:
>> On Thu, 17 Mar 2005 14:27:30 +0000 (UTC), Michael Kraemer
>> <m.kraemer@gsi.de> wrote:
>>
>> > Nice trick, worked perfectly back then, but of course
>> > you exactly had to now what you were doing.
>>
>> That is quite different from the usual C buffer overun
>> playing havoc with the stack
>> >
>
> Sure, but the marginal inherent safety advantage PL/I
> seems to offer is based on descriptors, and my example
It is more than marginal and it is based on more than
descriptors. Now there are certainly ways to get into
trouble with PL/I (e.g. use of SUBSTR pseudo function);
however, as I think Bob K pointed out elsewhere in this thread,
"C puts together a unique environment where a
careful coder could let just one slip by. "
By comparison that could not happen in PL/I
> shows that these may be vulnerable themselves.
> While we're at it: how about AREAs, these large pieces
> of memory, do they have descriptors as well ?
Descriptors will be created if you specify it, or by usage,
but these are transparent to the user. Areas have control
blocks which are used internally by the compiler. PL/I on
VMS is used somewhat differently than on MVS. I would say
that the essential difference is in the level of abstraction.
On MVS you tend to think like an assembler programmer, always
concerned with a variety of control blocks, and therefore the
ability to manipulate them, which is both good and bad.
CONTROLLED variables, for example, have rather complicated
internal houskeeping with linked lists of control blocks
representing the different generations. But none of these
structures are published, and in my view rightly so, since
there is no good reason for the user to manipulate them. If
you look through the PL/I documentaion for VMS, nowhere will you
find a layout of the descriptors, because there is no reason to
manipulate them.
- Next message: Stalliano: "Mulitiple jobs in 2 seperate $batch queues"
- Previous message: Hein: "Re: Removing "Extra" Carriage Returns (was: DIFF/IGNORE=WHITE_SPACE)"
- In reply to: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Next in thread: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Reply: Michael Kraemer: "Re: [Announce] FreeVMS 0.1.3"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|