Keresztfalvi Gabor <[EMAIL PROTECTED]> writes:
> So this was the process:
> The server was started with the --debug flag. The client connected with a
> remote execution request. The debug message caused memory corruption in
> the environment in the server. The server spawned the shell with the
> corrupted environment. The shell disliked this and segfaulted. The server
> recognized, that its child was dead, so it sent a message about this to
> the client. So at last the client exited with the error message, that the
> remote shell was killed by a SIGSEGV.
Ok, now I understand better. I thought that the client, i.e. the lsh
process, crashed. Perhaps lsh's messages in this case could be made
clearer?
> > It looks bad, but it's not as bad as it appears. It's a bug in the
> > call to debug() (which has sloppy type checking, as it takes a
> > variable number of arguments). This patch should fix that:
> This patch solved the problem. :)
That's also strange. The bad call do debug() should definitely not
have overwritten the environment.
/Niels