From: Joey Hess Date: Mon, 26 Jan 2009 04:13:14 +0000 (-0500) Subject: git: Fix malformed utf8 recieved from git. X-Git-Tag: 3.03~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ce39f8e0006253b7dd3489dbd414b5d4758c66ac;p=ikiwiki.git git: Fix malformed utf8 recieved from git. If git log outputs malformed utf8 in, eg, usernames, detect it and fix it up. This avoids commits such as f71abc92aa279fbe0b7578b8c4752d775dd4a259 breaking things. --- diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm index 3085a3b67..042c69f5a 100644 --- a/IkiWiki/Plugin/git.pm +++ b/IkiWiki/Plugin/git.pm @@ -139,6 +139,12 @@ sub safe_git (&@) { my @lines; while (<$OUT>) { chomp; + + # check for invalid utf-8, and toss it back to avoid crashes + if (! utf8::valid($_)) { + $_=encode_utf8($_); + } + push @lines, $_; } diff --git a/debian/changelog b/debian/changelog index c9ebcd1e9..6c1710fe1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ ikiwiki (3.03) UNRELEASED; urgency=low * comments: If comment content checks fail, store the comment (in .ikiwiki/comments_pending) for moderator review. * comments: Add a moderation web interface. + * git: Fix malformed utf8 recieved from git. -- Joey Hess Sun, 18 Jan 2009 14:50:57 -0500