fix: Close files immediately in archive cmd
This commit is contained in:
@@ -105,7 +105,6 @@ func (o *Operations) Archive(
|
||||
if err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
||||
if err != nil {
|
||||
@@ -186,6 +185,12 @@ func (o *Operations) Archive(
|
||||
dirty = true
|
||||
|
||||
if !file.Info.Mode().IsRegular() {
|
||||
if f != nil {
|
||||
if err := f.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -232,6 +237,10 @@ func (o *Operations) Archive(
|
||||
if err := encryptor.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
|
||||
if err := f.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
}
|
||||
|
||||
if err := cleanup(&dirty); err != nil {
|
||||
|
||||
@@ -101,7 +101,6 @@ func (o *Operations) Update(
|
||||
if err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
||||
if err != nil {
|
||||
@@ -185,6 +184,12 @@ func (o *Operations) Update(
|
||||
dirty = true
|
||||
|
||||
if !file.Info.Mode().IsRegular() {
|
||||
if f != nil {
|
||||
if err := f.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -231,6 +236,10 @@ func (o *Operations) Update(
|
||||
if err := encryptor.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
|
||||
if err := f.Close(); err != nil {
|
||||
return []*tar.Header{}, err
|
||||
}
|
||||
} else {
|
||||
hdr.Size = 0 // Don't try to seek after the record
|
||||
|
||||
|
||||
Reference in New Issue
Block a user