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