Comment #13 on issue 13981 by w...@chromium.org: Crash -  
net::SSLClientSocketWin::OnIOComplete(int)
http://code.google.com/p/chromium/issues/detail?id=13981

Will, you can mark this bug Fixed now.  I agree with your comment 6 that we
should just get rid of is_initialized() and check  for the existence of the
socket.  Could you do that?

I actually implemented the "bool is_initialized_ member" solution that I
outlined in my comment 5.  It wasn't that hard.  If we ever decide that we
want to have an initialized but empty ClientSocketHandle, I can easily
recreate that solution.  I think the only reason we may want to do that is
that the test

   const bool can_reuse = socket->IsConnectedAndIdle();

in ClientSocketPoolBase::DoReleaseSocket() is too expensive.  (In the old
code, the test is

   bool can_reuse = ptr->get() && (*ptr)->IsConnectedAndIdle();

So there's a cheap null pointer check to short-circuit the potentially
expensive IsConnectedAndIdle() call.

For completeness, I attached the patch to create the condition for the crash
on Windows.  To crash, visit https://www.wellsfargo.com/.  As soon as the  
page
is partilly loaded, hit the Back button and wait a few seconds.

Attachments:
        crash-patch.txt  886 bytes

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to