Quoting Andree Leidenfrost <[EMAIL PROTECTED]>:

Hi Steven,

Thanks for your response. It appears to me that I have offended you with
my last message. Should this be the case, I do apologise, this was not
my intention at all.

No, I was not offended. I may have overstated things simply in order to be clear.

On Sun, 2006-07-30 at 19:34 -0400, Steven M. Robbins wrote:
Quoting Andree Leidenfrost <[EMAIL PROTECTED]>:

> To the contrary, e.g. using a function that submits
> things to 'sh -c' means we have a sane environment like a PATH and so
> forth.

Yeah, well ... that depends on whether you can presume the user does
have a sane PATH variable.  I'm inclined to believe the opposite,
actually.

Interesting territory we are entering here me thinks. Why would you be
inclined to say that something as fundamental as the PATH variable can
not be assumed to be sane?

Suppose your non-interactive program relies on, say, "cp" to copy files and you use system("cp ..."). Well, suppose the user has PATH=$HOME/bin:$PATH with a shell script $HOME/bin/cp that contains "/bin/cp -i $@". Your program is no longer non-interactive.

Or a real-life example: SGI's version of "join" behaves differently than GNU "join". I wrote a script that uses join that worked perfectly for me because my PATH had /usr/local/gnu/bin *ahead* of /usr/bin, while others had it the other way around. Lovely debugging problem, that was :-(


2.  Not enough memory is allocated so you're going to overrun the
buffer anytime there is a character to escape.  Have a closer look at
the manpage for strspn().

[Note: I find remarks like 'Have a closer look...' unhelpful.]

Sorry; I was in a rush so I took a shortcut.

-Steve


Reply via email to