[Info-vax] Calling standards, was: Re: Byte range locking - was Re: Oracle on VMS

Johnny Billquist bqt at softjar.se
Wed Nov 23 11:36:52 EST 2016


On 2016-11-23 16:54, Bill Gunshannon wrote:
> On 11/23/16 4:06 AM, Johnny Billquist wrote:
>> On 2016-11-22 19:52, Simon Clubley wrote:
>>> On 2016-11-22, Robert A. Brooks <FIRST.LAST at vmssoftware.com> wrote:
>>>
>>> However, at the very lowest levels of those code bases, the majority
>>> still calls into a C API regardless of what the rest of the code is
>>> written in. This makes the C API on Unix/Linux the Unix/Linux
>>> equivalent of the common calling standard on VMS.
>>>
>>> The main issue I have with the C APIs are the lack of counted strings
>>> or descriptors for string handling (which annoys me) but that doesn't
>>> change the fact that the C API _is_ the common calling standard for
>>> Unix/Linux.
>>
>> This is muddling the water some. You should keep the C standard library
>> separated from the Unix API.
>>
>> The C standard library use NUL-terminated strings, which (as we all
>> know) have serious security problems, and god knows what else.
>
> Why do people insist on perpetuating the notion that this is a C
> security problem.  C merely continued a practice that predated it
> probably to maintain compatability with earlier code.

It *is* a C security problem. That does not imply that it isn't a 
problem elsewhere as well, but trying to deny that this is a problem in 
C is silly. And it certainly does not imply that the problem only 
appeared with C. But it still is a problem in C...

> The PDP-11 Macro Directive .PRINT takes a null terminated string
> as its only argument.  I suspect the VAX had the same and it
> probably still exists in MACRO but I don't have my manual handy to
> verify that.

The *RT-11* Macro Directive .PRINT takes a null terminated string. Not 
PDP-11 MACRO in general. Try that on RSX, and you'll just get an error 
when assembling... :-)

	Johnny




More information about the Info-vax mailing list