aboutsummaryrefslogtreecommitdiffstats
path: root/modules/generate
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-08-14 18:30:16 +0800
committerGitHub <noreply@github.com>2023-08-14 10:30:16 +0000
commited1be4ca68daa9782ea65135110799a4bf0697f8 (patch)
tree29d3465f32643df3e3d7f76e56e3dad4afb56b75 /modules/generate
parentcafce3b4b5afb3f254a48e87f1516d7b5dc209b6 (diff)
downloadgitea-ed1be4ca68daa9782ea65135110799a4bf0697f8.tar.gz
gitea-ed1be4ca68daa9782ea65135110799a4bf0697f8.zip
Handle base64 decoding correctly to avoid panic (#26483)
Fix the panic if the "base64 secret" is too long.
Diffstat (limited to 'modules/generate')
-rw-r--r--modules/generate/generate.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/generate/generate.go b/modules/generate/generate.go
index 8b82976e85..ee3c76059b 100644
--- a/modules/generate/generate.go
+++ b/modules/generate/generate.go
@@ -49,12 +49,12 @@ func NewJwtSecret() ([]byte, error) {
}
// NewJwtSecretBase64 generates a new base64 encoded value intended to be used for JWT secrets.
-func NewJwtSecretBase64() (string, error) {
+func NewJwtSecretBase64() ([]byte, string, error) {
bytes, err := NewJwtSecret()
if err != nil {
- return "", err
+ return nil, "", err
}
- return base64.RawURLEncoding.EncodeToString(bytes), nil
+ return bytes, base64.RawURLEncoding.EncodeToString(bytes), nil
}
// NewSecretKey generate a new value intended to be used by SECRET_KEY.