GNU bug report logs - #48106
bug: touch utility does not handle file create error properly

Previous Next

Package: coreutils;

Reported by: Roland <devzero <at> web.de>

Date: Thu, 29 Apr 2021 18:40:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#48106: closed (bug: touch utility does not handle file create
 error properly)
Date: Sat, 01 May 2021 22:49:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 1 May 2021 15:48:43 -0700
with message-id <d45a7b62-465a-ee67-a4a6-1440ba2fbdf7 <at> cs.ucla.edu>
and subject line Re: bug#48106: bug: touch utility does not handle file create error properly
has caused the debbugs.gnu.org bug report #48106,
regarding bug: touch utility does not handle file create error properly
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
48106: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48106
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Roland <devzero <at> web.de>
To: bug-coreutils <at> gnu.org
Subject: bug: touch utility does not handle file create error properly
Date: Thu, 29 Apr 2021 20:23:47 +0200
hello,

touch utility telling weird error on file creation on a immutable/ro dir.

apparently, it does not catch/report the first error (EPERM) but only
the second one (ENOENT), when trying to set the time on the non-existing
file.

regards
roland kletzing
sysadmin

root <at> s900:/tmp# mkdir /tmp/test
root <at> s900:/tmp# chown 0400 /tmp/test/
root <at> s900:/tmp# chattr +i /tmp/test
root <at> s900:/tmp# touch /tmp/test/testfile
touch: setting times of '/tmp/test/testfile': No such file or directory

root <at> s900:/tmp# strace touch /tmp/test/testfile 2>&1 |grep -i test
execve("/usr/bin/touch", ["touch", "/tmp/test/testfile"], 0x7ffe690abb88
/* 19 vars */) = 0
openat(AT_FDCWD, "/tmp/test/testfile",
O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = -1 EPERM (Operation not
permitted)
utimensat(AT_FDCWD, "/tmp/test/testfile", NULL, 0) = -1 ENOENT (No such
file or directory)
write(2, "setting times of '/tmp/test/test"..., 37setting times of
'/tmp/test/testfile') = 37

# touch  --version
touch (GNU coreutils) 8.30

(on debian 10.9)



[Message part 3 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Roland <devzero <at> web.de>
Cc: 48106-done <at> debbugs.gnu.org
Subject: Re: bug#48106: bug: touch utility does not handle file create error
 properly
Date: Sat, 1 May 2021 15:48:43 -0700
[Message part 4 (text/plain, inline)]
Thanks for reporting the problem. I installed the attached to fix it.
[0001-touch-fix-wrong-diagnostic-Bug-48106.patch (text/x-patch, attachment)]

This bug report was last modified 4 years and 19 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.