Blob Blame History Raw
diff -up evolution-data-server-3.8.5/addressbook/libebook-contacts/e-vcard.c.vcard-param-parsing-too-strict evolution-data-server-3.8.5/addressbook/libebook-contacts/e-vcard.c
--- evolution-data-server-3.8.5/addressbook/libebook-contacts/e-vcard.c.vcard-param-parsing-too-strict	2013-07-23 13:58:03.000000000 +0200
+++ evolution-data-server-3.8.5/addressbook/libebook-contacts/e-vcard.c	2013-10-03 11:14:44.437054165 +0200
@@ -489,9 +489,13 @@ read_attribute_params (EVCardAttribute *
 			}
 			if (colon)
 				break;
-		}
-		else {
-			g_warning ("invalid character found in parameter spec");
+		} else if (param) {
+			/* reading param value, which is SAFE-CHAR, aka
+			   any character except CTLs, DQUOTE, ";", ":", "," */
+			g_string_append_unichar (str, g_utf8_get_char (lp));
+			lp = g_utf8_next_char (lp);
+		} else {
+			g_warning ("invalid character (%c/0x%02x) found in parameter spec (%s)", *lp, *lp, lp);
 			g_string_assign (str, "");
 			/*			skip_until (&lp, ":;"); */