From 346635605da024c3a0a6e7f4d63de1632459f4d6 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Tue, 5 Dec 2023 17:19:08 +0800 Subject: [PATCH] Convert git commit summary to valid UTF8. (#28356) (#28358) Backport #28356 by @darrinsmart The summary string ends up in the database, and (at least) MySQL & PostgreSQL require valid UTF8 strings. Fixes #28178 Co-authored-by: darrinsmart Co-authored-by: Darrin Smart (cherry picked from commit fef34790bb73b12b8b11daa45f17bd30fe30f4f0) --- modules/git/commit.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/git/commit.go b/modules/git/commit.go index bc22d52b45..0b8c6e02e1 100644 --- a/modules/git/commit.go +++ b/modules/git/commit.go @@ -43,8 +43,9 @@ func (c *Commit) Message() string { } // Summary returns first line of commit message. +// The string is forced to be valid UTF8 func (c *Commit) Summary() string { - return strings.Split(strings.TrimSpace(c.CommitMessage), "\n")[0] + return strings.ToValidUTF8(strings.Split(strings.TrimSpace(c.CommitMessage), "\n")[0], "?") } // ParentID returns oid of n-th parent (0-based index).