Fix Read, update sample

This commit is contained in:
Neil Alexander 2019-04-19 23:47:11 +01:00
parent 693bcc5713
commit 24281d4049
No known key found for this signature in database
GPG Key ID: A02A2019A2BB0944
2 changed files with 6 additions and 4 deletions

View File

@ -283,7 +283,7 @@ func main() {
}
logger.Println("Accepted")
for {
b := []byte{}
b := make([]byte, 100)
if n, err := conn.Read(b); err != nil {
logger.Errorln("Read failed:", err)
time.Sleep(time.Second * 2)
@ -319,7 +319,7 @@ func main() {
logger.Errorln("Write failed:", err)
} else {
logger.Println("Wrote", n, "bytes:", b)
b = b[:0]
b = make([]byte, 100)
if n, err := conn.Read(b); err != nil {
logger.Errorln("Read failed:", err)
} else {

View File

@ -88,8 +88,10 @@ func (c *Conn) Read(b []byte) (int, error) {
util.PutBytes(bs)
return errors.New("packet dropped due to decryption failure")
}
b = b[:0]
b = append(b, bs...)
copy(b, bs)
if len(bs) < len(b) {
b = b[:len(bs)]
}
c.session.updateNonce(&p.Nonce)
c.session.time = time.Now()
return nil