Prevent a crash in didReceiveMessage() of WebContext
authorGyuyoung Kim <gyuyoung.kim@samsung.com>
Tue, 24 Sep 2013 00:52:22 +0000 (09:52 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 25 Sep 2013 08:04:28 +0000 (08:04 +0000)
[Title] Prevent a crash in didReceiveMessage() of WebContext
[Issue#] N_SE-52642
[Problem] There was a crash in didReceiveMessage() on sample web app only once.
[Cause] Arguments of didReceiveMessage() may has null
[Solution] Check if argument is null.

Change-Id: I8231f296fffbc6a4c0df4995a017083941fe1f0d

Source/WebKit2/UIProcess/WebContext.cpp

index 40135e0..f5d827a 100644 (file)
@@ -803,6 +803,11 @@ HashSet<String, CaseFoldingHash> WebContext::pdfAndPostScriptMIMETypes()
 
 void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
+    // FIXME: This patch is for tizen specific goal. So, this should be removed during the Tizen WebKit upversion.
+    // Latest WebKit doesn't use messageID, so we don't need to check it.
+    if (messageID.toInt() == 0 || !arguments || !connection)
+        return;
+
     if (messageID.is<CoreIPC::MessageClassWebContext>()) {
         didReceiveWebContextMessage(connection, messageID, arguments);
         return;