Parcourir la source

Merge pull request #356 from go-sql-driver/infile

infile: Support absolute paths
Julien Schmidt il y a 10 ans
Parent
commit
7ca20b0008
1 fichiers modifiés avec 4 ajouts et 2 suppressions
  1. 4 2
      infile.go

+ 4 - 2
infile.go

@@ -86,8 +86,10 @@ func (mc *mysqlConn) handleInFileRequest(name string) (err error) {
 	var rdr io.Reader
 	var data []byte
 
-	if strings.HasPrefix(name, "Reader::") { // io.Reader
-		name = name[8:]
+	if idx := strings.Index(name, "Reader::"); idx == 0 || (idx > 0 && name[idx-1] == '/') { // io.Reader
+		// The server might return an an absolute path. See issue #355.
+		name = name[idx+8:]
+
 		if handler, inMap := readerRegister[name]; inMap {
 			rdr = handler()
 			if rdr != nil {