From 12d83e727dd3522006b53afbcfac3cdce178117a Mon Sep 17 00:00:00 2001
From: Derek McGowan <derek@mcgstyle.net>
Date: Wed, 21 Jan 2015 09:44:24 -0800
Subject: [PATCH] Fix write after close on http response

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
---
 engine/streams.go      | 1 +
 registry/session_v2.go | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/engine/streams.go b/engine/streams.go
index 99e876e17b..ec703c96fa 100644
--- a/engine/streams.go
+++ b/engine/streams.go
@@ -111,6 +111,7 @@ func (o *Output) Close() error {
 		}
 	}
 	o.tasks.Wait()
+	o.dests = nil
 	return firstErr
 }
 
diff --git a/registry/session_v2.go b/registry/session_v2.go
index 11b96bd65a..fa02bd3e6c 100644
--- a/registry/session_v2.go
+++ b/registry/session_v2.go
@@ -226,7 +226,7 @@ func (r *Session) PutV2ImageBlob(ep *Endpoint, imageName, sumType, sumStr string
 
 	method := "PUT"
 	log.Debugf("[registry] Calling %q %s", method, location)
-	req, err = r.reqFactory.NewRequest(method, location, blobRdr)
+	req, err = r.reqFactory.NewRequest(method, location, ioutil.NopCloser(blobRdr))
 	if err != nil {
 		return err
 	}