|
|
@@ -28,6 +28,7 @@ func (mc *mysqlConn) readPacket() (data []byte, err error) {
|
|
|
data, err = mc.buf.readNext(4)
|
|
|
if err != nil {
|
|
|
errLog.Print(err.Error())
|
|
|
+ mc.Close()
|
|
|
return nil, driver.ErrBadConn
|
|
|
}
|
|
|
|
|
|
@@ -36,6 +37,7 @@ func (mc *mysqlConn) readPacket() (data []byte, err error) {
|
|
|
|
|
|
if pktLen < 1 {
|
|
|
errLog.Print(errMalformPkt.Error())
|
|
|
+ mc.Close()
|
|
|
return nil, driver.ErrBadConn
|
|
|
}
|
|
|
|
|
|
@@ -50,8 +52,7 @@ func (mc *mysqlConn) readPacket() (data []byte, err error) {
|
|
|
mc.sequence++
|
|
|
|
|
|
// Read packet body [pktLen bytes]
|
|
|
- data, err = mc.buf.readNext(pktLen)
|
|
|
- if err == nil {
|
|
|
+ if data, err = mc.buf.readNext(pktLen); err == nil {
|
|
|
if pktLen < maxPacketSize {
|
|
|
return data, nil
|
|
|
}
|
|
|
@@ -65,6 +66,9 @@ func (mc *mysqlConn) readPacket() (data []byte, err error) {
|
|
|
return append(buf, data...), nil
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // err case
|
|
|
+ mc.Close()
|
|
|
errLog.Print(err.Error())
|
|
|
return nil, driver.ErrBadConn
|
|
|
}
|