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)
commita5f8955ccb875f8467a83c241abf2e58c2bb96f4
tree41737eca1403f66c5fdad29a0e7efb439c192c5a
parent693480af8bb2d3e83566af9463ca427f47a879da
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.
(This used to be commit 9fee8c2eb7bd05431cd9bcfbed3804c8ca1ee593)
source3/smbd/pipes.c