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, ":;"); */