Fixed -[PTUSBHUB scheduleReadPacketWithCallback:] crash #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I added code and commented out a faulty assertion to handle a mysterious crash that resulted from disconnecting devices from a macOS client. I had several crash reports that share this backtrace, and I finally reproduced it while connected to Xcode and found that buffer_size == 0 and done == true when a device disconnects. We get into this block of code where assert(buffer_size == sizeof(ref_upacket.size)), and the macOS client crashes. This assertion doesn't seem necessary. If there's no data and no error and GCD says we're done, then this is really just a no-op, and we should just return from the block rather than crash.