do not panic on bad-utf-8

This commit is contained in:
B. Petersen
2019-09-10 16:48:54 +02:00
parent 3d61c06ea9
commit 6c4d7ad8cc

View File

@@ -138,7 +138,7 @@ pub unsafe fn dc_mimeparser_parse<'a>(context: &'a Context, body: &[u8]) -> dc_m
{ {
mimeparser.subject = None mimeparser.subject = None
} else { } else {
mimeparser.subject = Some(to_string(decoded)); mimeparser.subject = Some(to_string_lossy(decoded));
free(decoded.cast()); free(decoded.cast());
} }
} }
@@ -257,7 +257,7 @@ pub unsafe fn dc_mimeparser_parse<'a>(context: &'a Context, body: &[u8]) -> dc_m
msg_c, msg_c,
); );
free(msg_c.cast()); free(msg_c.cast());
part.msg = Some(to_string(new_txt)); part.msg = Some(to_string_lossy(new_txt));
free(new_txt.cast()); free(new_txt.cast());
break; break;
} }
@@ -1117,7 +1117,7 @@ unsafe fn dc_mimeparser_add_single_part_if_known(
part.msg_raw = { part.msg_raw = {
let raw_c = let raw_c =
strndup(decoded_data, decoded_data_bytes as libc::c_ulong); strndup(decoded_data, decoded_data_bytes as libc::c_ulong);
let raw = to_string(raw_c); let raw = to_string_lossy(raw_c);
free(raw_c.cast()); free(raw_c.cast());
Some(raw) Some(raw)
}; };
@@ -1175,7 +1175,7 @@ unsafe fn dc_mimeparser_add_single_part_if_known(
9, 9,
) == 0i32 ) == 0i32
{ {
filename_parts += &to_string( filename_parts += &to_string_lossy(
(*(*dsp_param).pa_data.pa_parameter).pa_value, (*(*dsp_param).pa_data.pa_parameter).pa_value,
); );
} else if (*dsp_param).pa_type } else if (*dsp_param).pa_type
@@ -1649,7 +1649,7 @@ pub unsafe fn dc_mimeparser_repl_msg_by_error(
} }
let part = &mut mimeparser.parts[0]; let part = &mut mimeparser.parts[0];
part.type_0 = Viewtype::Text; part.type_0 = Viewtype::Text;
part.msg = Some(format!("[{}]", to_string(error_msg))); part.msg = Some(format!("[{}]", to_string_lossy(error_msg)));
mimeparser.parts.truncate(1); mimeparser.parts.truncate(1);
assert_eq!(mimeparser.parts.len(), 1); assert_eq!(mimeparser.parts.len(), 1);
} }