Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Mitchell <mark@codesourcery.com>
To: Nick Clifton <nickc@redhat.com>
Cc: binutils@sources.redhat.com,  gdb-patches@sources.redhat.com
Subject: Re: PATCH: Avoid accidentally opening files for write
Date: Tue, 07 Jun 2005 15:53:00 -0000	[thread overview]
Message-ID: <42A5C2EA.3070906@codesourcery.com> (raw)
In-Reply-To: <42A566C9.4040500@redhat.com>

Nick Clifton wrote:
> Hi Mark,
> 
>> Tested on x86_64-unknown-linux-gnu.  OK to apply?
> 
> 
> Have you tested this patch in both POSIX and non-POSIX build 
> environments ?  

I did not test in a non-POSIX *build* environment, but I did test in a 
non-POIX *target* environment.  In particular, I built a MinGW GDB using 
a GNU/Linux host, and verified that this fixed the bug.  (I used an 
older version of GDB that still had a tendency to mangle its output; 
using this patch stopped it from doing the mangling because it no longer 
tried to write out the file.)

 > assume so, but it would be nice to have that confirmed.  Also with a
> patch to a generic part of BFD it would be good if you could also test 
> with a --enable-targets=all build, just to make sure.

I didn't know about that, but will try it before check-in.  Just a 
build, or should I try to run some kind of testsuite as well?  (Is there 
a way to run the binutils testuite on all targets all at once?)

>> !   if (strchr (mode, '+'))
>> !     nbfd->direction = both_direction;
>> !   else if (strchr (mode, 'r'))
>> !     nbfd->direction = read_direction;
>> !   else
>> !     nbfd->direction = write_direction;
> 
> 
> This assumes that the contents of 'mode' are well defined.  Is this the 
> case for non-POSIX environments ?  For example can we be sure that the 
> character 'R' is never used to indicate read-only status, or that an OS 
> might allow a file created with just "a" to have the newly-written-to 
> parts read back, effectively making "a" a read-and-write mode ?  What I 
> am getting at is, should bfd_fopen() take an explicit extra parameter 
> which tells BFD whether this file is intended for reading, writing or 
> both ?

Hmm.  In practice, we always use one of the FOPEN_* macros as an 
argument, and these do follow the rules implied by what I wrote.  But, I 
could tighten the test to check for just what ISO C requires, which is 
that the characters must occur at the start of the string, so using 
strchr is probably incorrect.  OK to make that change before check-in, 
or would you like me to resubmit?

I'm not aware of OSes that do as you say, but, in any case, I don't 
think we need to worry about OSes that accept other variations.  Clients 
of BFD should be using the standard syntax.  It's OK if they use OS 
extensions, but I think it's reasonable to say that if they mean "read" 
they use "r" and not "R".

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304


  reply	other threads:[~2005-06-07 15:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-07  7:17 Mark Mitchell
2005-06-07  9:18 ` Nick Clifton
2005-06-07 15:53   ` Mark Mitchell [this message]
2005-06-07 19:23     ` Nick Clifton
2005-06-07 23:02       ` Mark Mitchell
2005-06-13  3:21 ` Daniel Jacobowitz
2005-06-13 18:44   ` Mark Mitchell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42A5C2EA.3070906@codesourcery.com \
    --to=mark@codesourcery.com \
    --cc=binutils@sources.redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=nickc@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox