diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index f7db8957ba77..c288b8a5e5b7 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -119,7 +119,7 @@ func WithTimeout(f func() error, timeout time.Duration) error { } func RemovePassword(uri string) string { - p := strings.Index(uri, "@") + p := strings.LastIndex(uri, "@") if p < 0 { return uri } diff --git a/pkg/utils/utils_test.go b/pkg/utils/utils_test.go index b5fa81a7ad3a..4b18b83f4379 100644 --- a/pkg/utils/utils_test.go +++ b/pkg/utils/utils_test.go @@ -94,6 +94,9 @@ func TestRemovePassword(t *testing.T) { {"redis://:password@localhost:6379/0", "redis://:****@localhost:6379/0", }, + {"redis://:pass@word@localhost:6379/0", + "redis://:****@localhost:6379/0", + }, {":password@localhost:6379/0", ":****@localhost:6379/0", },