diff options
author | silverwind <me@silverwind.io> | 2021-05-10 08:45:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-10 07:45:17 +0100 |
commit | 1e6fa57acbe3c05cb996b789e8c2d381c953826f (patch) | |
tree | c4f1ce55b3423f97952b630462cef5b2035961ec /modules/avatar/avatar.go | |
parent | 270aab429ef025df9a0b9bf9e3982729ae8df449 (diff) | |
download | gitea-1e6fa57acbe3c05cb996b789e8c2d381c953826f.tar.gz gitea-1e6fa57acbe3c05cb996b789e8c2d381c953826f.zip |
Use single shared random string generation function (#15741)
* Use single shared random string generation function
- Replace 3 functions that do the same with 1 shared one
- Use crypto/rand over math/rand for a stronger RNG
- Output only alphanumerical for URL compatibilty
Fixes: #15536
* use const string method
* Update modules/avatar/avatar.go
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
Diffstat (limited to 'modules/avatar/avatar.go')
-rw-r--r-- | modules/avatar/avatar.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/avatar/avatar.go b/modules/avatar/avatar.go index 44b56c26ce..bb9c2e953b 100644 --- a/modules/avatar/avatar.go +++ b/modules/avatar/avatar.go @@ -12,10 +12,9 @@ import ( // Enable PNG support: _ "image/png" - "math/rand" - "time" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/util" "github.com/issue9/identicon" "github.com/nfnt/resize" @@ -29,8 +28,11 @@ const AvatarSize = 290 // in custom size (height and width). func RandomImageSize(size int, data []byte) (image.Image, error) { randExtent := len(palette.WebSafe) - 32 - rand.Seed(time.Now().UnixNano()) - colorIndex := rand.Intn(randExtent) + integer, err := util.RandomInt(int64(randExtent)) + if err != nil { + return nil, fmt.Errorf("util.RandomInt: %v", err) + } + colorIndex := int(integer) backColorIndex := colorIndex - 1 if backColorIndex < 0 { backColorIndex = randExtent - 1 |