summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiteabot <teabot@gitea.io>2024-01-06 20:05:49 +0800
committerGitHub <noreply@github.com>2024-01-06 20:05:49 +0800
commit7f833d8f71b71b0e983ed979c5ad8088aec7fb7d (patch)
treef5eeb6b487b9f09c34599df9cd33e417ef2f9914
parente67c819cf463695db0d0693a1844f9c9fcd02c58 (diff)
downloadgitea-7f833d8f71b71b0e983ed979c5ad8088aec7fb7d.tar.gz
gitea-7f833d8f71b71b0e983ed979c5ad8088aec7fb7d.zip
Fix panic when parsing empty pgsql host (#28708) (#28709)
Backport #28708 by wxiaoguang Regression of #27723 Fix #28705 Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
-rw-r--r--modules/setting/database.go2
-rw-r--r--modules/setting/database_test.go4
2 files changed, 5 insertions, 1 deletions
diff --git a/modules/setting/database.go b/modules/setting/database.go
index b68f250f78..015c918d93 100644
--- a/modules/setting/database.go
+++ b/modules/setting/database.go
@@ -168,7 +168,7 @@ func getPostgreSQLConnectionString(dbHost, dbUser, dbPasswd, dbName, dbsslMode s
RawQuery: dbParam,
}
query := connURL.Query()
- if dbHost[0] == '/' { // looks like a unix socket
+ if strings.HasPrefix(dbHost, "/") { // looks like a unix socket
query.Add("host", dbHost)
connURL.Host = ":" + port
}
diff --git a/modules/setting/database_test.go b/modules/setting/database_test.go
index 1d5b416504..14e0a6ac02 100644
--- a/modules/setting/database_test.go
+++ b/modules/setting/database_test.go
@@ -66,6 +66,10 @@ func Test_getPostgreSQLConnectionString(t *testing.T) {
Output string
}{
{
+ Host: "", // empty means default
+ Output: "postgres://:@127.0.0.1:5432?sslmode=",
+ },
+ {
Host: "/tmp/pg.sock",
User: "testuser",
Passwd: "space space !#$%^^%^```-=?=",