From 87b0a15f1ee60c02dbb45bbcac75e7d3312a8cd0 Mon Sep 17 00:00:00 2001 From: RW Date: Mon, 25 Oct 2021 07:25:31 +0200 Subject: [PATCH] Fix - prevent panic on GetTrimmedParam (#1593) Close #1587 --- path.go | 2 +- path_test.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/path.go b/path.go index 77f4d974..f4889115 100644 --- a/path.go +++ b/path.go @@ -350,7 +350,7 @@ func GetTrimmedParam(param string) string { start := 0 end := len(param) - if param[start] != paramStarterChar { // is not a param + if end == 0 || param[start] != paramStarterChar { // is not a param return param } start++ diff --git a/path_test.go b/path_test.go index 3b492936..f4a0ca6e 100644 --- a/path_test.go +++ b/path_test.go @@ -420,7 +420,9 @@ func Test_Path_matchParams(t *testing.T) { func Test_Utils_GetTrimmedParam(t *testing.T) { t.Parallel() - res := GetTrimmedParam("*") + res := GetTrimmedParam("") + utils.AssertEqual(t, "", res) + res = GetTrimmedParam("*") utils.AssertEqual(t, "*", res) res = GetTrimmedParam(":param") utils.AssertEqual(t, "param", res)