bug-gnucobol
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MAX_PATH (or PATH_MAX) assumed to be ~255


From: Ron Norman
Subject: Re: MAX_PATH (or PATH_MAX) assumed to be ~255
Date: Wed, 15 Jul 2020 14:48:38 -0400

HPUX 11.11 PA-RISC has a limit of 256
HPUX 11.23 Itanium has a limit of 256
Centos 8 x86_64 has a limit of 256
AIX 7.1 powerpc has a limit of 256
.....




On Wed, Jul 15, 2020 at 2:41 PM James K. Lowden <jklowden@schemamania.org> wrote:
On Wed, 15 Jul 2020 12:02:09 -0400
Jeffrey Walton <noloader@gmail.com> wrote:

Thanks for the report. 

> I'm guessing "destination of size 255" comes from MAX_PATH or
> PATH_MAX. That likely will not hold on Solaris or OS X. I believe
> MAX_PATH is 4096 those OSes.

A reasonable guess, but no.  In call.c we find

#define COB_MAX_COBCALL_PARMS   16
#define CALL_BUFF_SIZE          256U
#define CALL_BUFF_MAX           (CALL_BUFF_SIZE - 1U)

I would be interested to know if anyone is using GnuCOBOL on a system
on which PATH_MAX is less than 4096.  I haven't seen one in a long
time.

I don't find any of these reported warnings to be troubling. 

The whole purpose of snprintf and strncpy is to ensure the destination
isn't overflowed.  The premise that a warning is justified if the source
buffer is longer than the target buffer seems pretty weak to me. 

In the case of the warning messages, the potential is that the error
message might -- in the case of a very long entry point name or path --
be chopped off.  In the case of the intrinsic functions, the source
string has already been validated, and no valid string will be too
long. 

--jkl



--
Cheers
Ron Norman

reply via email to

[Prev in Thread] Current Thread [Next in Thread]