[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35713: /dev/stdin problem in cp on Solaris
From: |
Pádraig Brady |
Subject: |
bug#35713: /dev/stdin problem in cp on Solaris |
Date: |
Sun, 26 May 2019 13:25:21 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
On 13/05/19 11:24, address@hidden wrote:
> Hi,
>
> We found out that the following simple command fails on Solaris with:
>
> cat srcfile.txt | /usr/gnu/bin/cp /dev/stdin dstfile.txt
> cp: skipping file '/dev/stdin', as it was replaced while being copied
>
> I found that problem is with SAME_INODE macro. It accepts two
> structures, one from stat and another from fstat function. On Solaris,
> each of these can return a different thing. While stat returns
> information about the /dev/fd/0 file itself (linked by /dev/stdin),
> fstat knows much more from the file descriptor and returns info about
> the pipe that is being used. That results in SAME_INODE failing.
>
> This happens in both Coreutils 8.30 and 8.31 (both intel and sparc) but
> it looks like it was seen first in 8.16.
>
> The easiest fix to this issue I came up with is to disable SAME_INODE
> validation for special devices and pipes (as they won't be moved
> anyway)
But what if a file is replaced with a character special device for example?
How about doing something like the following before the SAME_INODE check?
#if _solaris
if (S_IFMT(source_desc) != S_IFMT(src_open_sb)
stat(src_name, &src_open_sb);
#endif
cheers,
Pádraig
- bug#35713: /dev/stdin problem in cp on Solaris, jakub . kulik, 2019/05/13
- bug#35713: /dev/stdin problem in cp on Solaris,
Pádraig Brady <=
- bug#35713: /dev/stdin problem in cp on Solaris, jakub . kulik, 2019/05/27
- bug#35713: /dev/stdin problem in cp on Solaris, jakub . kulik, 2019/05/28
- bug#35713: /dev/stdin problem in cp on Solaris, Paul Eggert, 2019/05/28
- bug#35713: /dev/stdin problem in cp on Solaris, jakub . kulik, 2019/05/29
- bug#35713: /dev/stdin problem in cp on Solaris, Paul Eggert, 2019/05/29
- bug#35713: /dev/stdin problem in cp on Solaris, jakub . kulik, 2019/05/30