[Lldb-commits] [lldb] r323817 - XUnit Formatter: Handle UTF-8 decode errors on invalid XML

Davide Italiano via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 30 13:24:49 PST 2018


On Tue, Jan 30, 2018 at 1:16 PM, Vedant Kumar via lldb-commits
<lldb-commits at lists.llvm.org> wrote:
> Author: vedantk
> Date: Tue Jan 30 13:16:42 2018
> New Revision: 323817
>
> URL: http://llvm.org/viewvc/llvm-project?rev=323817&view=rev
> Log:
> XUnit Formatter: Handle UTF-8 decode errors on invalid XML
>
> Strings which contain garbage data can trigger an exception in the XUnit
> plugin at the UTF-8 decode step because the decode is strict. Use a lax
> mode to avoid an exception.
>
> See: https://ci.swift.org/job/oss-lldb-incremental-osx/780
>
> Modified:
>     lldb/trunk/packages/Python/lldbsuite/test_event/formatter/xunit.py
>
> Modified: lldb/trunk/packages/Python/lldbsuite/test_event/formatter/xunit.py
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test_event/formatter/xunit.py?rev=323817&r1=323816&r2=323817&view=diff
> ==============================================================================
> --- lldb/trunk/packages/Python/lldbsuite/test_event/formatter/xunit.py (original)
> +++ lldb/trunk/packages/Python/lldbsuite/test_event/formatter/xunit.py Tue Jan 30 13:16:42 2018
> @@ -84,7 +84,9 @@ class XunitFormatter(ResultsFormatter):
>          """
>          # Get the content into unicode
>          if isinstance(str_or_unicode, str):
> -            unicode_content = str_or_unicode.decode('utf-8')
> +            # If we hit decoding errors due to data corruption, replace the
> +            # invalid characters with U+FFFD REPLACEMENT CHARACTER.
> +            unicode_content = str_or_unicode.decode('utf-8', 'replace')
>          else:
>              unicode_content = str_or_unicode
>          return self.invalid_xml_re.sub(
>
>

LGTM, thanks.

--
Davide


More information about the lldb-commits mailing list