[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8154: du: issue with `--files0-from=DIR'
From: |
Jim Meyering |
Subject: |
bug#8154: du: issue with `--files0-from=DIR' |
Date: |
Wed, 02 Mar 2011 18:35:22 +0100 |
Pádraig Brady wrote:
> On 02/03/11 17:10, Paul Eggert wrote:
>> On 03/02/2011 07:09 AM, Jim Meyering wrote:
>>> - struct argv_iterator *ai = malloc (sizeof *ai);
>>> + struct argv_iterator *ai;
>>> + struct stat st;
>>> +
>>> + if (fstat (fileno (fp),&st) == 0&& S_ISDIR (st.st_mode))
>>> + {
>>> + errno = EISDIR;
>>> + return NULL;
>>> + }
>>> +
>>> + ai = malloc (sizeof *ai);
>>
>> My kneejerk reaction is that this part of the patch
>> should not be needed (though other fixes obviously are).
>> There are lots of reasons that the stream could fail:
>> why check for directories specially? Just let the
>> stream fail in the way that it normally would; this
>> keeps the code smaller and simpler. On an ancient
>> host where "cat dir/" works, "du --files0-from=dir/"
>> should not arbitrarily fail.
>
> I thought that at first too, but it seems like
> it might cause more issues that not, by allowing it?
> Testing bsd here shows that valid NUL terminated file names
> are returned, but also there is other info interspersed.
I'm planning to skip the new tests when "cat some-dir" succeeds.
bug#8154: du: issue with `--files0-from=DIR', Jim Meyering, 2011/03/02
bug#8154: du: issue with `--files0-from=DIR', Pádraig Brady, 2011/03/02