mirror of
https://github.com/octoleo/restic.git
synced 2024-11-30 00:33:57 +00:00
Merge pull request #3811 from restic/fix-secret-string-crash
Don't crash if SecretString is uninitialized
This commit is contained in:
commit
7137034517
@ -13,12 +13,15 @@ func (s SecretString) GoString() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s SecretString) String() string {
|
func (s SecretString) String() string {
|
||||||
if len(*s.s) == 0 {
|
if s.s == nil || len(*s.s) == 0 {
|
||||||
return ``
|
return ``
|
||||||
}
|
}
|
||||||
return `**redacted**`
|
return `**redacted**`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SecretString) Unwrap() string {
|
func (s *SecretString) Unwrap() string {
|
||||||
|
if s.s == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return *s.s
|
return *s.s
|
||||||
}
|
}
|
||||||
|
@ -53,3 +53,11 @@ func TestSecretStringEmpty(t *testing.T) {
|
|||||||
test.Equals(t, `""`, fmt.Sprintf("%#v", secret))
|
test.Equals(t, `""`, fmt.Sprintf("%#v", secret))
|
||||||
test.Equals(t, keyStr, secret.Unwrap())
|
test.Equals(t, keyStr, secret.Unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSecretStringDefault(t *testing.T) {
|
||||||
|
secretStruct := &secretTest{}
|
||||||
|
|
||||||
|
test.Equals(t, "", secretStruct.str.String())
|
||||||
|
test.Equals(t, `""`, secretStruct.str.GoString())
|
||||||
|
test.Equals(t, "", secretStruct.str.Unwrap())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user