Merge pull request #618 from lxcid/master
[Issue #591] Attempts to fix crash caused by incorrect calculation of range when reading data into buffer.
This commit is contained in:
commit
aab0ceec08
1 changed files with 2 additions and 2 deletions
|
|
@ -1143,12 +1143,12 @@ typedef enum {
|
||||||
intoBuffer:(uint8_t *)buffer
|
intoBuffer:(uint8_t *)buffer
|
||||||
maxLength:(NSUInteger)length
|
maxLength:(NSUInteger)length
|
||||||
{
|
{
|
||||||
NSRange range = NSMakeRange((NSUInteger)_phaseReadOffset, MIN([data length], length));
|
NSRange range = NSMakeRange((NSUInteger)_phaseReadOffset, MIN([data length] - ((NSUInteger)_phaseReadOffset), length));
|
||||||
[data getBytes:buffer range:range];
|
[data getBytes:buffer range:range];
|
||||||
|
|
||||||
_phaseReadOffset += range.length;
|
_phaseReadOffset += range.length;
|
||||||
|
|
||||||
if (range.length >= [data length]) {
|
if (((NSUInteger)_phaseReadOffset) >= [data length]) {
|
||||||
[self transitionToNextPhase];
|
[self transitionToNextPhase];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue