iclouddrive: fix panic and files potentially downloaded twice

- Fixing SIGSEGV Fixes #8211
- Removed files potentially downloaded twice
This commit is contained in:
Clément Wehrung 2025-05-07 19:00:33 +02:00 committed by GitHub
parent fe880c0fac
commit 9d55b2411f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -252,18 +252,14 @@ func (d *DriveService) DownloadFile(ctx context.Context, url string, opt []fs.Op
}
resp, err := d.icloud.srv.Call(ctx, opts)
if err != nil {
// icloud has some weird http codes
if resp.StatusCode == 330 {
loc, err := resp.Location()
if err == nil {
return d.DownloadFile(ctx, loc.String(), opt)
}
// icloud has some weird http codes
if err != nil && resp != nil && resp.StatusCode == 330 {
loc, err := resp.Location()
if err == nil {
return d.DownloadFile(ctx, loc.String(), opt)
}
return resp, err
}
return d.icloud.srv.Call(ctx, opts)
return resp, err
}
// MoveItemToTrashByItemID moves an item to the trash based on the item ID.