[Pkg-owncloud-commits] [php-sabre-vobject] 06/12: Fix for #94.

David Prévot taffit at moszumanska.debian.org
Tue Jun 10 15:49:40 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch 2.1
in repository php-sabre-vobject.

commit 5524f038f6409c752da1cd88964ad7269a66d58d
Author: Evert Pot <me at evertpot.com>
Date:   Tue Jun 3 12:37:52 2014 -0400

    Fix for #94.
---
 ChangeLog                             |  1 +
 lib/Sabre/VObject/Parameter.php       | 17 ++---------------
 tests/Sabre/VObject/ParameterTest.php |  8 ++++++++
 3 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2d9c989..26c8fef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
 2.1.5-stable (2014-06-03)
+	* Fixed: #94: Better parameter escaping.
 	* Changed: Documentation cleanups.
 
 2.1.4-stable (2014-03-30)
diff --git a/lib/Sabre/VObject/Parameter.php b/lib/Sabre/VObject/Parameter.php
index 91b71db..0fd857e 100644
--- a/lib/Sabre/VObject/Parameter.php
+++ b/lib/Sabre/VObject/Parameter.php
@@ -69,21 +69,8 @@ class Parameter extends Node {
         if (is_null($this->value)) {
             return $this->name;
         }
-        $src = array(
-            '\\',
-            "\n",
-            ';',
-            ',',
-        );
-        $out = array(
-            '\\\\',
-            '\n',
-            '\;',
-            '\,',
-        );
-
-        $value = str_replace($src, $out, $this->value);
-        if (strpos($value,":")!==false) {
+        $value = str_replace("\n", '\n', $this->value);
+        if (preg_match('#(?: [:;\\\\])#x', $value)) {
             $value = '"' . $value . '"';
         }
         return $this->name . '=' . $value;
diff --git a/tests/Sabre/VObject/ParameterTest.php b/tests/Sabre/VObject/ParameterTest.php
index 90eb5d2..3ea1a9b 100644
--- a/tests/Sabre/VObject/ParameterTest.php
+++ b/tests/Sabre/VObject/ParameterTest.php
@@ -41,4 +41,12 @@ class ParameterTest extends \PHPUnit_Framework_TestCase {
         $this->assertEquals('NAME="va:lue"',$param->serialize());
 
     }
+
+    function testSerializeSemiColon() {
+
+        $param = new Parameter('name','va;lue');
+        $this->assertEquals('NAME="va;lue"',$param->serialize());
+
+    }
+
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabre-vobject.git



More information about the Pkg-owncloud-commits mailing list