Hi,
> Then maybe it would be safer to use the same size as defined in
> "linux/limits.h".
>
> #define PATH_MAX        4096    /* # chars in a path name including nul */
>
> This patch does not change anything for systems which PATH_MAX is
> defined, and this number will not create an issue for GNU/Hurd. WDYT?

It seems that there is no certain basis.
Instead, I have found a guideline as follows on the Net.

[https://www.gnu.org/software/hurd/hurd/porting/guidelines.html]

>> Note 2: Yes, some POSIX functions such as realpath() actually assume
>> that PATH_MAX is defined. This is a bug of the POSIX standard, which
>> got fixed in the latest revisions, in which one can simply pass NULL
>> to get a dynamically allocated buffer.

I would like to rewrite code like this.

#ifdef __GNU__
result = realpath(start, NULL);
#else
result = realpath(start, buffer);
#endif

Systems which have no PATH_MAX other than hurd will foll on
a comple error. What do you think?

Regards,
Shigio


2016-06-24 1:49 GMT+09:00 Manolis Ragkousis <[email protected]>:

> Hello,
>
> On 06/20/16 10:17, Shigio YAMAGUCHI wrote:
> > Hi
> >> +/* MAX_PATH is not defined in some platforms, most notably GNU/Hurd.
> >> +   In that case we define it here to some constant. */
> >
> > Since PATH_MAX is buffer size that realpath(3) assumes,
> > setting a wrong size would destroy memory.
> > How can we know correct size?
> >
>
> Then maybe it would be safer to use the same size as defined in
> "linux/limits.h".
>
> #define PATH_MAX        4096    /* # chars in a path name including nul */
>
> This patch does not change anything for systems which PATH_MAX is
> defined, and this number will not create an issue for GNU/Hurd. WDYT?
>
> Thank you,
> Manolis
>



-- 
Shigio YAMAGUCHI <[email protected]>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3
_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to