From d76fa22b4bf1c527f6494f9753d951e2d41cb9a8 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Tue, 20 Jun 2017 22:53:49 +0200 Subject: [PATCH] prune: Delete invalid/incomplete pack files Closes #1053 --- src/restic/pack/pack.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/restic/pack/pack.go b/src/restic/pack/pack.go index a7965f97a..bdfa52503 100644 --- a/src/restic/pack/pack.go +++ b/src/restic/pack/pack.go @@ -230,11 +230,13 @@ func readHeader(rd io.ReaderAt, size int64) ([]byte, error) { } if int64(hl) > size-int64(binary.Size(hl)) { - return nil, errors.New("header is larger than file") + err := InvalidFileError{Message: "header is larger than file"} + return nil, errors.Wrap(err, "readHeader") } if int64(hl) > maxHeaderSize { - return nil, errors.New("header is larger than maxHeaderSize") + err := InvalidFileError{Message: "header is larger than maxHeaderSize"} + return nil, errors.Wrap(err, "readHeader") } buf := make([]byte, int(hl))