Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #10266

Re: Teaching C

From Ben Pfaff <blp@cs.stanford.edu>
Newsgroups comp.lang.c
Subject Re: Teaching C
Date 2011-09-14 19:58 -0700
Message-ID <87y5xqy0iv.fsf@blp.benpfaff.org> (permalink)
References (1 earlier) <pan.2011.09.14.12.31.49.174000@nowhere.com> <j4qa4f$4hh$1@speranza.aioe.org> <lnpqj2amz7.fsf@nuthaus.mib.org> <j4r4in$pv2$1@speranza.aioe.org> <lnd3f2a6kl.fsf@nuthaus.mib.org>

Show all headers | View raw


Keith Thompson <kst-u@mib.org> writes:

> That's interesting (and disappointing).  I had guessed that,
> since execv() can easily invoke any program with argv[0]==NULL,
> most production-quality Unix programs would check argv[0] before
> dereferencing it.  Apparently I was mistaken.

Under Unix, it's also easy to invoke a program without any file
descriptors at all, so that stdin, stdout, and stderr are all
invalid.  The first fopen() successful call ends up functioning
as stdin, the next as stdout, and the next as stderr.

Few production-quality Unix programs defend against this, because
it's a *really* unconventional way to invoke a program.  No one
(as far as I know) really expects it to be useful to do this.

I think that invoking a program with a null argv[0] is similar,
though perhaps less extreme.  It's not a useful or conventional
thing to do, and so there's not much value in checking carefully
for it.

(It could be a security issue for a setuid program.  Fortunately
there are few of those and they are usually both simple and
carefully written.)
-- 
Ben Pfaff 
http://benpfaff.org

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

hexump.c jacob navia <jacob@spamsink.net> - 2011-09-09 22:53 +0200
  Re: hexump.c tea strainer <nospam@nospam.com> - 2011-09-09 21:06 +0000
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-09 23:57 +0200
    Re: hexump.c NicStevens <nic.stevens@gmail.com> - 2011-09-12 13:22 -0700
  Re: hexump.c Ian Collins <ian-news@hotmail.com> - 2011-09-10 09:18 +1200
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-09 23:59 +0200
  Re: hexump.c Ike Naar <ike@iceland.freeshell.org> - 2011-09-09 22:29 +0000
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 00:39 +0200
      Re: hexump.c Ike Naar <ike@iceland.freeshell.org> - 2011-09-09 22:53 +0000
        Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 00:58 +0200
        Re: hexump.c Seebs <usenet-nospam@seebs.net> - 2011-09-13 06:44 +0000
          Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-13 10:33 +0200
            Re: hexump.c Fritz Wuehler <fritz@spamexpire-201109.rodent.frell.theremailer.net> - 2011-09-13 18:02 +0200
            Teaching C (was Re: hexump.c) Kenneth Brody <kenbrody@spamcop.net> - 2011-09-13 16:36 -0400
              Re: Teaching C (was Re: hexump.c) jacob navia <jacob@spamsink.net> - 2011-09-13 22:44 +0200
                Re: Teaching C (was Re: hexump.c) Nobody <nobody@nowhere.com> - 2011-09-14 13:31 +0100
                Re: Teaching C (was Re: hexump.c) jacob navia <jacob@spamsink.net> - 2011-09-14 15:27 +0200
                Re: Teaching C (was Re: hexump.c) Richard Damon <news.x.richarddamon@xoxy.net> - 2011-09-14 11:49 -0400
                Re: Teaching C (was Re: hexump.c) Keith Thompson <kst-u@mib.org> - 2011-09-14 13:27 -0700
                Re: Teaching C (was Re: hexump.c) pacman@kosh.dhis.org (Alan Curry) - 2011-09-14 20:59 +0000
                Re: Teaching C (was Re: hexump.c) Nobody <nobody@nowhere.com> - 2011-09-14 22:20 +0100
                Re: Teaching C (was Re: hexump.c) James Kuyper <jameskuyper@verizon.net> - 2011-09-14 17:20 -0400
                Re: Teaching C (was Re: hexump.c) pacman@kosh.dhis.org (Alan Curry) - 2011-09-15 01:51 +0000
                Re: Teaching C (was Re: hexump.c) Keith Thompson <kst-u@mib.org> - 2011-09-14 19:29 -0700
                Re: Teaching C (was Re: hexump.c) Keith Thompson <kst-u@mib.org> - 2011-09-14 19:21 -0700
                Re: Teaching C Ben Pfaff <blp@cs.stanford.edu> - 2011-09-14 19:58 -0700
                Re: Teaching C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-09-14 21:55 -0600
                Re: Teaching C James Kuyper <jameskuyper@verizon.net> - 2011-09-15 06:54 -0400
                Re: Teaching C Keith Thompson <kst-u@mib.org> - 2011-09-15 11:58 -0700
                Re: Teaching C Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-24 12:57 -0800
                Re: Teaching C Nobody <nobody@nowhere.com> - 2011-09-15 14:25 +0100
                Re: Teaching C Seebs <usenet-nospam@seebs.net> - 2011-09-16 22:00 +0000
                Re: Teaching C (was Re: hexump.c) Kenneth Brody <kenbrody@spamcop.net> - 2011-09-14 12:54 -0400
                Re: Teaching C (was Re: hexump.c) James Kuyper <jameskuyper@verizon.net> - 2011-09-14 13:26 -0400
                Re: Teaching C (was Re: hexump.c) jacob navia <jacob@spamsink.net> - 2011-09-14 19:33 +0200
                Re: Teaching C (was Re: hexump.c) jameskuyper <jameskuyper@verizon.net> - 2011-09-14 11:33 -0700
                Re: Teaching C (was Re: hexump.c) jacob navia <jacob@spamsink.net> - 2011-09-14 21:17 +0200
                Re: Teaching C (was Re: hexump.c) Kenneth Brody <kenbrody@spamcop.net> - 2011-09-16 11:47 -0400
                Re: Teaching C (was Re: hexump.c) Seebs <usenet-nospam@seebs.net> - 2011-09-14 20:43 +0000
                Re: Teaching C (was Re: hexump.c) Nobody <nobody@nowhere.com> - 2011-09-14 22:35 +0100
                Re: Teaching C (was Re: hexump.c) gordonb.8a7i1@burditt.org (Gordon Burditt) - 2011-09-14 17:31 -0500
                Re: Teaching C (was Re: hexump.c) jacob navia <jacob@spamsink.net> - 2011-09-14 19:32 +0200
                Re: Teaching C (was Re: hexump.c) Kenneth Brody <kenbrody@spamcop.net> - 2011-09-16 11:27 -0400
                Re: Teaching C (was Re: hexump.c) Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-16 08:49 -0700
                Re: Teaching C (was Re: hexump.c) James Kuyper <jameskuyper@verizon.net> - 2011-09-17 15:04 -0400
            Re: hexump.c Keith Thompson <kst-u@mib.org> - 2011-09-13 20:31 -0700
              Re: hexump.c Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-14 03:22 -0700
              Re: hexump.c "BartC" <bc@freeuk.com> - 2011-09-14 11:40 +0100
                Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-14 13:54 +0200
                Re: hexump.c Nobody <nobody@nowhere.com> - 2011-09-14 13:50 +0100
                Re: hexump.c Keith Thompson <kst-u@mib.org> - 2011-09-14 11:35 -0700
                Re: hexump.c Seebs <usenet-nospam@seebs.net> - 2011-09-14 19:12 +0000
                Re: hexump.c John Bode <jfbode1029@gmail.com> - 2011-09-14 15:31 -0700
                Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-15 00:59 +0200
                Re: hexump.c Kleuskes & Moos <kleuske@somewhere.else.net> - 2011-09-14 23:14 +0000
                Re: hexump.c John Bode <jfbode1029@gmail.com> - 2011-09-15 08:52 -0700
                Re: hexump.c Jens Gustedt <jens.gustedt@loria.fr> - 2011-09-14 21:22 +0200
                Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-14 21:26 +0200
                Re: hexump.c Ian Collins <ian-news@hotmail.com> - 2011-09-15 07:32 +1200
                Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-14 21:44 +0200
                Re: hexump.c Keith Thompson <kst-u@mib.org> - 2011-09-14 13:49 -0700
                Re: hexump.c Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-09-16 00:50 +0300
                Re: hexump.c Keith Thompson <kst-u@mib.org> - 2011-09-15 18:34 -0700
                Re: hexump.c Keith Thompson <kst-u@mib.org> - 2011-09-14 12:16 -0700
                Hypocrites jacob navia <jacob@spamsink.net> - 2011-09-14 21:40 +0200
                Re: Hypocrites Keith Thompson <kst-u@mib.org> - 2011-09-14 19:11 -0700
                Re: hexump.c Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-09-14 15:05 +0100
                Re: hexump.c Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-14 07:56 -0700
                Re: hexump.c "BartC" <bc@freeuk.com> - 2011-09-14 17:23 +0100
              Re: hexump.c Seebs <usenet-nospam@seebs.net> - 2011-09-14 19:12 +0000
              Re: hexump.c John Bode <jfbode1029@gmail.com> - 2011-09-14 15:24 -0700
      Re: hexump.c gordonb.ik17p@burditt.org (Gordon Burditt) - 2011-09-09 18:16 -0500
        Re: hexump.c Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-12 22:24 +0000
  Re: hexump.c "Morris Keesan" <mkeesan@post.harvard.edu> - 2011-09-09 20:33 -0400
    Re: hexump.c Ian Collins <ian-news@hotmail.com> - 2011-09-10 12:42 +1200
      Re: hexump.c "Morris Keesan" <mkeesan@post.harvard.edu> - 2011-09-10 17:16 -0400
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 10:03 +0200
  Re: hexump.c Nobody <nobody@nowhere.com> - 2011-09-10 10:04 +0100
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 11:41 +0200
      Re: hexump.c pete <pfiland@mindspring.com> - 2011-09-10 05:51 -0400
        Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 12:38 +0200
          Re: hexump.c Nobody <nobody@nowhere.com> - 2011-09-10 17:53 +0100
  Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 12:46 +0200
    Re: hexump.c Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-09-10 13:03 +0100
      Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-10 15:34 +0200
    Re: hexump.c "Morris Keesan" <mkeesan@post.harvard.edu> - 2011-09-10 17:37 -0400
      Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-11 00:10 +0200
        Re: hexump.c Patrick Scheible <kkt@zipcon.net> - 2011-09-10 21:03 -0700
  Re: hexump.c Barry Schwarz <schwarz45@yahoo.com> - 2011-09-11 00:37 -0700
    Re: hexump.c jacob navia <jacob@spamsink.net> - 2011-09-11 13:56 +0200

csiph-web