From 71a784cfa22cd4753950999b356c16231e4f6888 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Wed, 16 Feb 2022 11:42:28 +0000 Subject: [PATCH] compress: fix crash if metadata upload failed - fixes #5994 Before this changed the backend attempted to delete a nil object if the metadata upload failed. --- backend/compress/compress.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/compress/compress.go b/backend/compress/compress.go index c7b3a4006..fbd99ac9f 100644 --- a/backend/compress/compress.go +++ b/backend/compress/compress.go @@ -626,9 +626,11 @@ func (f *Fs) putMetadata(ctx context.Context, meta *ObjectMetadata, src fs.Objec // Put the data mo, err = put(ctx, metaReader, f.wrapInfo(src, makeMetadataName(src.Remote()), int64(len(data))), options...) if err != nil { - removeErr := mo.Remove(ctx) - if removeErr != nil { - fs.Errorf(mo, "Failed to remove partially transferred object: %v", err) + if mo != nil { + removeErr := mo.Remove(ctx) + if removeErr != nil { + fs.Errorf(mo, "Failed to remove partially transferred object: %v", err) + } } return nil, err }