From cc8b0ee9799e77049db38a11e939f97ef37e57ff Mon Sep 17 00:00:00 2001 From: simon Date: Sun, 8 Dec 2002 11:00:47 +0000 Subject: [PATCH] Add a new diagnostic in winnet.c, to attempt to pinpoint the reason for the tree234 assertion failure we've had reported recently. git-svn-id: svn://svn.tartarus.org/sgt/putty@2288 cda61777-01e9-0310-a592-d414129be87e --- winnet.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/winnet.c b/winnet.c index 430a47bb..b5ca7415 100644 --- a/winnet.c +++ b/winnet.c @@ -901,6 +901,25 @@ int select_result(WPARAM wParam, LPARAM lParam) u_long atmark; /* wParam is the socket itself */ + + /* + * One user has reported an assertion failure in tree234 which + * indicates a null element pointer has been passed to a + * find*234 function. The following find234 is the only one in + * the whole program that I can see being capable of doing + * this, hence I'm forced to conclude that WinSock is capable + * of sending me netevent messages with wParam==0. I want to + * know what the rest of the message is if it does so! + */ + if (wParam == 0) { + char *str; + str = dupprintf("Strange WinSock message: wp=%08x lp=%08x", + (int)wParam, (int)lParam); + logevent(NULL, str); + connection_fatal(NULL, str); + sfree(str); + } + s = find234(sktree, (void *) wParam, cmpforsearch); if (!s) return 1; /* boggle */ -- 2.11.0