Re: Where's the buffer overrun?
Re: Where's the buffer overrun?
- Subject: Re: Where's the buffer overrun?
- From: Chris Suter <email@hidden>
- Date: Thu, 20 Mar 2008 11:18:49 +1100
On 20/03/2008, at 11:00 AM, Andrew Farmer wrote:
On 19 Mar 08, at 16:50, Chris Suter wrote:
On 20/03/2008, at 10:38 AM, Nick Zitzmann wrote:
char **returnArray = NSZoneMalloc([self zone], length);
should be:
char **returnArray = NSZoneMalloc([self zone], length * sizeof
(char *));
Actually, that's correct. Read up a bit - length is already
multiplied by the pointer size.
Sorry. A bit hasty in my response.
Maybe I can redeem myself.
I think it's because
[NSMutableData dataWithBytesNoCopy:returnArray length:length]
is releasing returnArray and allocating a new buffer for it. I'm
guessing that's because it's NSMutableData.
To fix it, use NSData instead.
Kind regards,
Chris
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden