From d55460b4ff8ed9c294c9dbd57afd13428de65073 Mon Sep 17 00:00:00 2001 From: qydysky Date: Thu, 22 Aug 2024 05:40:12 +0800 Subject: [PATCH] 1 --- crypto/EasyCrypt.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crypto/EasyCrypt.go b/crypto/EasyCrypt.go index 4906d87..bc3694e 100644 --- a/crypto/EasyCrypt.go +++ b/crypto/EasyCrypt.go @@ -6,6 +6,7 @@ import ( "crypto/rand" "encoding/pem" "errors" + "io" "golang.org/x/crypto/chacha20poly1305" ) @@ -80,6 +81,9 @@ func Decrypt(b, priKey []byte) (msg []byte, e error) { if pb, _ := pem.Decode(priKey); pb.Type != pemType+` PRIVATE KEY` { e = ErrPemType return + } else if 4+pemLen > len(b) { + e = io.EOF + return } else if p2, e = ecdh.X25519().NewPrivateKey(pb.Bytes); e != nil { return } else if q1, e = ecdh.X25519().NewPublicKey(b[4 : 4+pemLen]); e != nil { -- 2.39.2