From 1e6fa57acbe3c05cb996b789e8c2d381c953826f Mon Sep 17 00:00:00 2001 From: silverwind Date: Mon, 10 May 2021 08:45:17 +0200 Subject: 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> --- modules/avatar/avatar.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'modules/avatar/avatar.go') 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 -- cgit v1.2.3