From 7b629a987258dcaba84d662edb5f408d11878fef Mon Sep 17 00:00:00 2001 From: MrBTTF Date: Mon, 1 Mar 2021 14:19:29 +0100 Subject: [PATCH] handling decoding pem error (#1192) --- AUTHORS | 1 + auth.go | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 3460c2e06..50afa2c85 100644 --- a/AUTHORS +++ b/AUTHORS @@ -92,6 +92,7 @@ Thomas Wodarek Tim Ruffles Tom Jenkinson Vladimir Kovpak +Vladyslav Zhelezniak Xiangyu Hu Xiaobing Jiang Xiuming Chen diff --git a/auth.go b/auth.go index 1f9ceb059..b2f19e8f0 100644 --- a/auth.go +++ b/auth.go @@ -15,6 +15,7 @@ import ( "crypto/sha256" "crypto/x509" "encoding/pem" + "fmt" "sync" ) @@ -371,7 +372,10 @@ func (mc *mysqlConn) handleAuthResult(oldAuthData []byte, plugin string) error { return err } - block, _ := pem.Decode(data[1:]) + block, rest := pem.Decode(data[1:]) + if block == nil { + return fmt.Errorf("No Pem data found, data: %s", rest) + } pkix, err := x509.ParsePKIXPublicKey(block.Bytes) if err != nil { return err