On 22/06/16 14:47, P. Benie wrote:
> On Wed, 22 Jun 2016, Bernhard Voelker wrote:
> 
>> On 06/22/2016 02:48 PM, Pádraig Brady wrote:
>>> On 22/06/16 13:18, Bernhard Voelker wrote:
>>>> Unfortunately, it seems we don't have test for fts.c, do we?
>>>
>>> Not that I know of.
>>> For effective testing of this you'd have to use something like cmocka,
>>> or more generically something like CharybdeFS
>>
>> For rm(1), we could add a gdb-based or LD_PRELOAD-based test.  Current rm(1)
>> will fail to remove a recursive directory (because some files beneath the
>> directory hierarchy didn't get deleted)
> 
> It was a recursive rm that made me start looking at this condition. 
> Attached, please find the LD_PRELOAD that I used to simulate my buggy NFS 
> server.
> 
>> Obviously, many other packages usig FTS like find(1) are also affected.
> 
> On the plus side, the fts programs are much easier to fix.
> 
> My investigations show that readdir error checks in general are are rarely 
> done, and if they are done, they are often done incorrectly. One program 
> went into an infinite loop if readdir failed (it assumed that readdir 
> would always make some progress each time) and another claimed that 
> readdir doesn't report errors, which I doubt is true on any platform.
> 
> Peter
> 

Cool, I'll add that test in your name to coreutils.

thanks,
Pádraig

Reply via email to