[issue20428] _Py_open does not work with O_CREAT

2014-02-02 Thread STINNER Victor

STINNER Victor added the comment:

 In file included from ./Modules/_localemodule.c:404:0,

I don't see where _Py_open() is used in _localemodule.c. I didn't find a call 
to _Py_open() using O_CREAT. In fact, O_CREAT is not used in the C code of 
Python. (Except dbmopen in the dbm module, but it doesn't call open(), it calls 
dbm_open()).

 I already search the default mode but I didn't see it in the manual page.

The glibc pass 0 for the mode by default, but for O_CREAT it reads it from the 
third mode parameter.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20428
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20428] _Py_open does not work with O_CREAT

2014-01-28 Thread Alexandre Vassalotti

New submission from Alexandre Vassalotti:

The _Py_open function in Python/fileutils.c cannot be given correctly the flag 
O_CREAT. According to the POSIX spec, open(2) _must_ be given an additional 
mode argument when O_CREAT is used.

_Py_open should be fixed to either to use a reasonable default value for the 
mode argument (e.g., O666) or to refuse the O_CREAT flag.

--
components: Interpreter Core
messages: 209600
nosy: alexandre.vassalotti, haypo
priority: normal
severity: normal
stage: needs patch
status: open
title: _Py_open does not work with O_CREAT
type: behavior
versions: Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20428
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20428] _Py_open does not work with O_CREAT

2014-01-28 Thread STINNER Victor

STINNER Victor added the comment:

I already search the default mode but I didn't see it in the manual page. Is 
it 0666?

 The _Py_open function in Python/fileutils.c cannot be given correctly the 
 flag O_CREAT.

What is the current behaviour?

A new _Py_open_mode() function can be added. Where do you need O_CREAT?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20428
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20428] _Py_open does not work with O_CREAT

2014-01-28 Thread Alexandre Vassalotti

Alexandre Vassalotti added the comment:

 What is the current behaviour?

I don't think the behaviour is defined. At least, I know it causes recent 
GCC/glibc combination to throw a compilation error when _FORTIFY_SOURCE is 
defined:
 
http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/libc/io/open_2.c?view=markup

For example, this is the error I got when I tried to compile Python with LTO:

gcc-4.6 -pthread -flto -fuse-linker-plugin  -Xlinker -export-dynamic -o python 
Modules/python.o libpython3.4m.a -lpthread -ldl -lutil -lm  
bytesobject.o (symbol from plugin): warning: memset used with constant zero 
length parameter; this could be due to transposed parameters
In file included from ./Modules/_localemodule.c:404:0,
 from :459:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h: In function ‘_Py_open’:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to 
‘__open_missing_mode’ declared with attribute error: open with O_CREAT in 
second argument needs 3 arguments
lto-wrapper: gcc-4.6 returned 1 exit status
/usr/bin/ld: lto-wrapper failed
collect2: ld returned 1 exit status

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20428
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com