parse-community / Parse-SDK-iOS-OSX

The Apple SDK for Parse Platform (iOS, macOS, watchOS, tvOS)
https://parseplatform.org
Other
2.81k stars 865 forks source link

Negative progress value on file download #1705

Open richardgroves opened 1 year ago

richardgroves commented 1 year ago

New Issue Checklist

Issue Description

File download progress block can be called with a negative progress value

Steps to reproduce

Download a file from a server where the content length is not known/knowable

Actual Outcome

-22424 passed as progress of download when 243 bytes had been downloaded.

Expected Outcome

0 passed as progress if true value not knowable?

Environment

Parse Core 1.19.4, but same code problem exists in 2.02

Client

Server

Database

Logs

NA

Narrative version:

It is possible to have a download progress block called with a negative progress value.

This occurs as the line:

https://github.com/parse-community/Parse-SDK-iOS-OSX/blob/b6ec05c8ea17d936cb695713d11e0a61854bfe84/Parse/Parse/Internal/Commands/CommandRunner/URLSession/Session/TaskDelegate/PFURLSessionFileDownloadTaskDelegate.m#L62

does not include a check for self.response.expectedContentLength == NSURLResponseUnknownLength (NSURLResponseUnknownLength = -1).

parse-github-assistant[bot] commented 1 year ago

Thanks for opening this issue!