diff --git a/ChangeLog b/ChangeLog index 490deacf8..e218761ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-11-19 Richard Frith-Macdonald + + * Source/NSData.m: Fix bug #24883 + 2008-11-19 Richard Frith-Macdonald * configure.ac: Changes to tolerate older version of gnutls diff --git a/Source/NSData.m b/Source/NSData.m index 3c67dfc2e..f7e76abb2 100644 --- a/Source/NSData.m +++ b/Source/NSData.m @@ -673,11 +673,14 @@ failure: * Copies length bytes of data from the memory encapsulated by the receiver * into the specified buffer. The buffer must be large enough to contain * length bytes of data ... if it isn't then a crash is likely to occur.
- * Invokes -getBytes:range: with the range set to NSMakeRange(0, length) + * If length is greater than the size of the receiver, only the available + * bytes are copied. */ - (void) getBytes: (void*)buffer length: (unsigned int)length { - [self getBytes: buffer range: NSMakeRange(0, length)]; + NSUInteger l = [self length]; + + [self getBytes: buffer range: NSMakeRange(0, l < length ? l : length)]; } /**