[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: The open() system call in f8 really broken...



On Thu, Aug 16, 2007 at 02:21:17PM -0500, Jon Ciesla wrote:
> > There is simply nothing unusual or unexpected about it.
> >
> >> - if ((fd = open(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT))) < 0) {
> >> + if ((fd = (open)(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT))) < 0) {
> >
> > Now you're just being unfriendly about it by finding ways to defeat
> > a helpful check instead of adding the missing mode. What point are
> > you trying to prove by doing this?
> 
> What would the preferred fix look like?  I'd like to get this sorted out,
> as I'd like to send a patch for one of my affected packages upstream.

Supplying a third argument to open, of course.
So
if ((fd = open(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT), 0644)) < 0) {
is the right fix, judging from
        touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
        touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
        touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
and xflock being used on xtab/etab/rmtab.

	Jakub


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]