Title: [173635] trunk/Source/WebCore
- Revision
- 173635
- Author
- [email protected]
- Date
- 2014-09-15 15:52:47 -0700 (Mon, 15 Sep 2014)
Log Message
Crash when logging in to optionshouse.com
https://bugs.webkit.org/show_bug.cgi?id=136834
Reviewed by Anders Carlsson.
No test, because I couldn't make one. I don't have a way to reproduce first-hand.
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::readStreamCallback):
(WebCore::SocketStreamHandle::writeStreamCallback):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (173634 => 173635)
--- trunk/Source/WebCore/ChangeLog 2014-09-15 22:47:46 UTC (rev 173634)
+++ trunk/Source/WebCore/ChangeLog 2014-09-15 22:52:47 UTC (rev 173635)
@@ -1,3 +1,16 @@
+2014-09-15 Alexey Proskuryakov <[email protected]>
+
+ Crash when logging in to optionshouse.com
+ https://bugs.webkit.org/show_bug.cgi?id=136834
+
+ Reviewed by Anders Carlsson.
+
+ No test, because I couldn't make one. I don't have a way to reproduce first-hand.
+
+ * platform/network/cf/SocketStreamHandleCFNet.cpp:
+ (WebCore::SocketStreamHandle::readStreamCallback):
+ (WebCore::SocketStreamHandle::writeStreamCallback):
+
2014-09-15 Jer Noble <[email protected]>
Unreviewed build fix for 32-bit builds.
Modified: trunk/Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp (173634 => 173635)
--- trunk/Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp 2014-09-15 22:47:46 UTC (rev 173634)
+++ trunk/Source/WebCore/platform/network/cf/SocketStreamHandleCFNet.cpp 2014-09-15 22:52:47 UTC (rev 173635)
@@ -424,6 +424,10 @@
{
SocketStreamHandle* handle = static_cast<SocketStreamHandle*>(clientCallBackInfo);
ASSERT_UNUSED(stream, stream == handle->m_readStream.get());
+ // Workaround for <rdar://problem/17727073>. Keeping this below the assertion as we'd like better steps to reproduce this.
+ if (!handle->m_readStream)
+ return;
+
#if PLATFORM(WIN)
callOnMainThreadAndWait([&] {
handle->readStreamCallback(type);
@@ -438,6 +442,10 @@
{
SocketStreamHandle* handle = static_cast<SocketStreamHandle*>(clientCallBackInfo);
ASSERT_UNUSED(stream, stream == handle->m_writeStream.get());
+ // This wasn't seen happening in practice, yet it seems like it could, due to symmetry with read stream callback.
+ if (!handle->m_writeStream)
+ return;
+
#if PLATFORM(WIN)
callOnMainThreadAndWait([&] {
handle->writeStreamCallback(type);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes