Title: [128330] releases/WebKitGTK/webkit-1.10
Revision
128330
Author
carlo...@webkit.org
Date
2012-09-12 09:51:43 -0700 (Wed, 12 Sep 2012)

Log Message

Merge r128195 - [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=96284

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Non UTF-8 characters sent as part of a HTTP header name were
causing crashes as String::fromUTF8() was returning NULL for
them. Use String::fromUTF8WithLatin1Fallback() instead.

Test: http/tests/misc/non-utf8-header-name.php

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

Added a new test to make sure that WebKitGtk+ does not crash when
a non-UTF8 character is sent as part of a HTTP header name.

* http/tests/misc/non-utf8-header-name-expected.txt: Added.
* http/tests/misc/non-utf8-header-name.php: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-1.10/LayoutTests/ChangeLog (128329 => 128330)


--- releases/WebKitGTK/webkit-1.10/LayoutTests/ChangeLog	2012-09-12 16:50:33 UTC (rev 128329)
+++ releases/WebKitGTK/webkit-1.10/LayoutTests/ChangeLog	2012-09-12 16:51:43 UTC (rev 128330)
@@ -1,3 +1,16 @@
+2012-09-11  Sergio Villar Senin  <svil...@igalia.com>
+
+        [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
+        https://bugs.webkit.org/show_bug.cgi?id=96284
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Added a new test to make sure that WebKitGtk+ does not crash when
+        a non-UTF8 character is sent as part of a HTTP header name.
+
+        * http/tests/misc/non-utf8-header-name-expected.txt: Added.
+        * http/tests/misc/non-utf8-header-name.php: Added.
+
 2012-09-04  Mario Sanchez Prada  <msanc...@igalia.com>
 
         [Stable] [GTK] Crash in WebCore::HTMLSelectElement::selectedIndex

Added: releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt (0 => 128330)


--- releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt	2012-09-12 16:51:43 UTC (rev 128330)
@@ -0,0 +1 @@
+Test for bug 96284: Non UTF-8 HTTP headers do not cause a crash.

Added: releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name.php (0 => 128330)


--- releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name.php	                        (rev 0)
+++ releases/WebKitGTK/webkit-1.10/LayoutTests/http/tests/misc/non-utf8-header-name.php	2012-09-12 16:51:43 UTC (rev 128330)
@@ -0,0 +1,9 @@
+<?php
+header('HTTP/1.1 200 OK');
+header('\xC3: text/html');
+echo '<script>';
+echo '   if (window.testRunner)';
+echo '       testRunner.dumpAsText();';
+echo '</script>';
+echo '<p>Test for <a href="" 96284</a>: Non UTF-8 HTTP headers do not cause a crash.</p>';
+?>

Modified: releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog (128329 => 128330)


--- releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog	2012-09-12 16:50:33 UTC (rev 128329)
+++ releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog	2012-09-12 16:51:43 UTC (rev 128330)
@@ -1,3 +1,19 @@
+2012-09-11  Sergio Villar Senin  <svil...@igalia.com>
+
+        [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
+        https://bugs.webkit.org/show_bug.cgi?id=96284
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Non UTF-8 characters sent as part of a HTTP header name were
+        causing crashes as String::fromUTF8() was returning NULL for
+        them. Use String::fromUTF8WithLatin1Fallback() instead.
+
+        Test: http/tests/misc/non-utf8-header-name.php
+
+        * platform/network/soup/ResourceResponseSoup.cpp:
+        (WebCore::ResourceResponse::updateFromSoupMessage):
+
 2012-08-20  Philippe Normand  <pnorm...@igalia.com>
 
         [GStreamer] Audio device not closed after playing sound

Modified: releases/WebKitGTK/webkit-1.10/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp (128329 => 128330)


--- releases/WebKitGTK/webkit-1.10/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp	2012-09-12 16:50:33 UTC (rev 128329)
+++ releases/WebKitGTK/webkit-1.10/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp	2012-09-12 16:51:43 UTC (rev 128330)
@@ -69,7 +69,7 @@
 
     soup_message_headers_iter_init(&headersIter, soupMessage->response_headers);
     while (soup_message_headers_iter_next(&headersIter, &headerName, &headerValue))
-        m_httpHeaderFields.set(String::fromUTF8(headerName),
+        m_httpHeaderFields.set(String::fromUTF8WithLatin1Fallback(headerName, strlen(headerName)),
                                String::fromUTF8WithLatin1Fallback(headerValue, strlen(headerValue)));
 
     m_soupFlags = soup_message_get_flags(soupMessage);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to