check that a valid pipe is passed before doing a pipe close.
authorAndrew Tridgell <tridge@samba.org>
Tue, 1 Sep 1998 01:10:01 +0000 (01:10 +0000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 1 Sep 1998 01:10:01 +0000 (01:10 +0000)
commit9fee8c2eb7bd05431cd9bcfbed3804c8ca1ee593
tree871041741b486d15a27950bd6a72b74340d54ad6
parent3d9ec96de5e04e83abafe9c5d980bd39eee856ea
check that a valid pipe is passed before doing a pipe close.

I made this change after getting a segv in reply_pipe_close(). The
funny thing was that pipes_open was 1 and Pipes was NULL. That "can't
happen" and suggests that we have a wild pointer somewhere.

I suspect the rpc code, as I was playing with long share names (a
share called "averylongusername") at the time and the logs show lots
of srvsvc operations. I bet there is a buffer in the rpc code
somewhere that is overflowing and trashing bits of the data segment.
source/smbd/pipes.c