[LTP] What is wrong with this program ?

Cyril Hrubis chrubis@suse.cz
Tue Apr 28 11:52:22 CEST 2020


Hi!
> #include "tst_test.h"
> 
> static void run(void)
> {
> 	int fd;
> 
> 	fd = SAFE_OPEN("file", O_RDWR | O_CREAT);
> 	SAFE_CLOSE(fd);
> 	fd = SAFE_OPEN("file", O_RDWR | O_CREAT);
> }
> 
> static struct tst_test test = {
> 	.test_all = run,
> 	.needs_tmpdir = 1,
> };
> 
> 
> It fails with:
> 
> safe_macros.c:230: BROK: foo.c:9: open(file,66,01) failed: EACCES (13)
> 
> if run as a normal user and passes with sudo.

I guess that you forget to pass the mode argument to the first
SAFE_OPEN() and hence the second one fails because the garbage passed to
mode prevents normal users from opening the file.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list