convert_sdp_record_to_xml(rec, result,
(void *) g_string_append);
- if (result->len)
- iter_append_record(&dict, rec->handle, result->str);
+ if (result->len) {
+ if (!g_utf8_validate(result->str, -1, NULL)) {
+ gchar *ptr = NULL;
+
+ DBG("UTF8 invalid string, make valid");
+ ptr = g_utf8_make_valid(result->str, -1);
+ iter_append_record(&dict, rec->handle, ptr);
+ g_free(ptr);
+ } else {
+ iter_append_record(&dict, rec->handle, result->str);
+ }
+ }
g_string_free(result, TRUE);
}