Merge pull request #11698 from k8s-infra-cherrypick-robot/cherry-pick-11670-to-release/2.0
[release/2.0] Prevent panic on zero length push
This commit is contained in:
		| @@ -477,13 +477,15 @@ func (pw *pushWriter) Digest() digest.Digest { | |||||||
|  |  | ||||||
| func (pw *pushWriter) Commit(ctx context.Context, size int64, expected digest.Digest, opts ...content.Opt) error { | func (pw *pushWriter) Commit(ctx context.Context, size int64, expected digest.Digest, opts ...content.Opt) error { | ||||||
| 	// Check whether read has already thrown an error | 	// Check whether read has already thrown an error | ||||||
|  | 	if pw.pipe != nil { | ||||||
| 		if _, err := pw.pipe.Write([]byte{}); err != nil && !errors.Is(err, io.ErrClosedPipe) { | 		if _, err := pw.pipe.Write([]byte{}); err != nil && !errors.Is(err, io.ErrClosedPipe) { | ||||||
| 			return fmt.Errorf("pipe error before commit: %w", err) | 			return fmt.Errorf("pipe error before commit: %w", err) | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if err := pw.pipe.Close(); err != nil { | 		if err := pw.pipe.Close(); err != nil { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// TODO: timeout waiting for response | 	// TODO: timeout waiting for response | ||||||
| 	var resp *http.Response | 	var resp *http.Response | ||||||
| 	select { | 	select { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Derek McGowan
					Derek McGowan