From 9ebac6616d32d7672ea59da67321380037e2324c Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 03 Feb 2011 06:52:38 -0500
Subject: [PATCH] - Fix handling of invalid HTML comments in messages (#1487759)

---
 CHANGELOG               |    1 +
 program/lib/washtml.php |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index d13a99a..c827c0b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix handling of invalid HTML comments in messages (#1487759)
 - Fix parsing FETCH response for very long headers (#1487753)
 - Fix add/remove columns in message list when message_sort_order isn't set (#1487751)
 - Check mime headers before attempt to parse them (#1487745)
diff --git a/program/lib/washtml.php b/program/lib/washtml.php
index 7f49fec..f9daadb 100644
--- a/program/lib/washtml.php
+++ b/program/lib/washtml.php
@@ -75,6 +75,7 @@
  * - changed $ignore_elements behaviour
  * - added RFC2397 support
  * - base URL support
+ * - invalid HTML comments removal before parsing
  */
 
 class washtml
@@ -271,6 +272,9 @@
     else
       $this->config['base_url'] = '';
 
+    // Remove invalid HTML comments (#1487759)
+    $html = preg_replace('/<![^>]*>/', '', $html);
+
     @$node->loadHTML($html);
     return $this->dumpHtml($node);
   }

--
Gitblit v1.9.1