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:
commit
ea7be04cb4
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user