bug-coreutils
[Top][All Lists]
Advanced

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

Re: ia64 GNU/Linux pwd-long test failure in CVS coreutils


From: Jim Meyering
Subject: Re: ia64 GNU/Linux pwd-long test failure in CVS coreutils
Date: Sun, 18 Jun 2006 21:23:41 +0200

Jim Meyering <address@hidden> wrote:

> address@hidden (Bob Proulx) wrote:
>> Jim Meyering wrote:
>>> I should have created a directory whose abs. name length
>>> is a little *larger* than 16K, not just smaller.
>>>
>>> Does it provoke the failed assertion if you change this line
>>>
>>>   size_t buf_len = 16 * 1024;
>>>
>>> to e.g., this:
>>>
>>>   size_t buf_len = 20 * 1024;
>>
>> Yes.  At 20k the mkdir succeeds, the chdir succeeds, the desired depth
>> is reached and then the getcwd fails.  The getcwd fails with errno
>> equal to 36 "File name too long" as expected.  It cleans up the
>> created directory structure.
>>
>>   $ ls -log
>>   total 36
>>   -rwxr-xr-x  1 29101 Jun 18 11:54 getcwd-glibc-bug
>>   -rw-r--r--  1  1180 Jun 18 11:56 getcwd-glibc-bug.c
>>   $ ./getcwd-glibc-bug ; echo $?
>>   4
>
> Bummer.  I was hoping for a failed assertion.
>
> Ohh....
> I finally looked at the source for glibc's getcwd.c and see that
> the bug is triggered only if you make *glibc* allocate the result buffer.
>
> Would you please try one more time?

Finally got it.
and realized that I do have access to an ia64 linux system :)

Use the same program, but this definition (has to be larger
than 4k and smaller than 16k):

#define TARGET_LEN (5 * 1024)




reply via email to

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