Browse Source

Fix race condition in registry/session

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Alexander Morozov 10 years ago
parent
commit
9d98c28855
1 changed files with 5 additions and 1 deletions
  1. 5 1
      registry/session.go

+ 5 - 1
registry/session.go

@@ -98,7 +98,11 @@ func (tr *authTransport) RoundTrip(orig *http.Request) (*http.Response, error) {
 	}
 	}
 	resp.Body = &transport.OnEOFReader{
 	resp.Body = &transport.OnEOFReader{
 		Rc: resp.Body,
 		Rc: resp.Body,
-		Fn: func() { delete(tr.modReq, orig) },
+		Fn: func() {
+			tr.mu.Lock()
+			delete(tr.modReq, orig)
+			tr.mu.Unlock()
+		},
 	}
 	}
 	return resp, nil
 	return resp, nil
 }
 }