Forráskód Böngészése

Fix appending packets

The zero-copy buffer caused overwriting of data if multiple chunks were
read
Julien Schmidt 12 éve
szülő
commit
0ae2ce5f1d
2 módosított fájl, 6 hozzáadás és 6 törlés
  1. 1 3
      README.md
  2. 5 3
      packets.go

+ 1 - 3
README.md

@@ -4,9 +4,7 @@ A MySQL-Driver for Go's [database/sql](http://golang.org/pkg/database/sql) packa
 
 ![Go-MySQL-Driver logo](https://raw.github.com/wiki/go-sql-driver/mysql/go-mysql-driver_m.jpg "Golang Gopher transporting the MySQL Dolphin in a wheelbarrow")
 
-**Current tagged Release:** May 14, 2013 (Version 1.0)
-
-[![Build Status](https://travis-ci.org/go-sql-driver/mysql.png?branch=master)](https://travis-ci.org/go-sql-driver/mysql) *(master branch)*
+**Current tagged Release:** June 03, 2013 (Version 1.0.1)
 
 ---------------------------------------
   * [Features](#features)

+ 5 - 3
packets.go

@@ -57,11 +57,13 @@ func (mc *mysqlConn) readPacket() (data []byte, err error) {
 			return data, nil
 		}
 
+		var buf []byte
+		buf = append(buf, data...)
+
 		// More data
-		var data2 []byte
-		data2, err = mc.readPacket()
+		data, err = mc.readPacket()
 		if err == nil {
-			return append(data, data2...), nil
+			return append(buf, data...), nil
 		}
 	}
 	errLog.Print(err.Error())