Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 01 Dec 2014 15:50:18 -0800
From: Andy Lutomirski <luto@...capital.net>
To: oss-security@...ts.openwall.com
Subject: Re: AW: O_CREAT|O_DIRECTORY on nonexisting file expected behaviour?

On 11/26/2014 11:32 AM, Fiedler Roman wrote:
>> Von: Matthew Daley [mailto:mattd-Lyx97FHGs0pBDgjK7y7TUQ@...lic.gmane.org]
>>
>> On Thu, Nov 27, 2014 at 4:28 AM, Fiedler Roman <Roman.Fiedler-c/U4JCCwIJZeoWH0uzbU5w@...lic.gmane.org>
>> wrote:
>>> (...)
>>> My test program was:
>>>
>>> #include <fcntl.h>
>>> #include <stdio.h>
>>> #include <sys/stat.h>
>>>
>>> int main(int argc, char **argv) {
>>>   int fd;
>>>   struct stat statBuf;
>>>   int result;
>>>
>>>   fd=open("xxx", O_RDWR|O_CREAT|O_DIRECTORY, 0600);
>>>   result=fstat(fd, &statBuf);
>>>   if(result) {
>>>     fprintf(stderr, "Stat failed\n");
>>>     return(1);
>>>   }
>>>   fprintf(stderr, "New element type is %d\n", S_ISDIR(fd));
>>
>> FWIW, this should probably be S_ISDIR(statBuf.st_mode).
> 
> You are completely right, how stupid to miss that. I did not challenge the 
> result, since it was the same as with "ls -al".
> 
> Also with S_ISDIR(statBuf.st_mode), result is the same, at least on my side.
> 
> 
> 
> #include <fcntl.h>
> #include <stdio.h>
> #include <sys/stat.h>
> 
> int main(int argc, char **argv) {
>   int fd;
>   struct stat statBuf;
>   int result;
> 
>   fd=open("xxx", O_RDWR|O_CREAT|O_DIRECTORY, 0600);
>   result=fstat(fd, &statBuf);
>   if(result) {
>     fprintf(stderr, "Stat failed\n");
>     return(1);
>   }
>   fprintf(stderr, "New element type is %d\n", S_ISDIR(statBuf.st_mode));
>   return(0);
> }
> 
> 
> $ ./test
> New element type is 0
> 

Report it to linux-fsdevel@...r.kernel.org?

--Andy

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.