From d2ea86f5ca9f7a0de4eb0e13789e438f1af9654c Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Thu, 20 Nov 2008 00:05:41 +0000 Subject: [PATCH] Fix bug #24883 git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27098 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ Source/NSData.m | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) 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)]; } /**