mirror of
https://github.com/restic/restic.git
synced 2025-08-25 12:47:39 +00:00
Add nil-receiver awareness to all Reader/Writer
This commit is contained in:
@@ -30,7 +30,7 @@ func (d *decryptReader) free() {
|
||||
}
|
||||
|
||||
func (d *decryptReader) Close() error {
|
||||
if d.buf == nil {
|
||||
if d == nil || d.buf == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -72,14 +72,15 @@ func DecryptFrom(ks *Key, rd io.Reader) (io.ReadCloser, error) {
|
||||
buf := bytes.NewBuffer(getBuffer()[:0])
|
||||
_, err := buf.ReadFrom(rd)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return (*decryptReader)(nil), err
|
||||
}
|
||||
|
||||
ciphertext := buf.Bytes()
|
||||
|
||||
ciphertext, err = Decrypt(ks, ciphertext, ciphertext)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
freeBuffer(ciphertext)
|
||||
return (*decryptReader)(nil), err
|
||||
}
|
||||
|
||||
return &decryptReader{buf: ciphertext, rd: bytes.NewReader(ciphertext)}, nil
|
||||
|
@@ -17,6 +17,10 @@ type encryptWriter struct {
|
||||
}
|
||||
|
||||
func (e *encryptWriter) Close() error {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if e.closed {
|
||||
return errors.New("Close() called on already closed writer")
|
||||
}
|
||||
|
Reference in New Issue
Block a user