Re: malloc during selectAll -> crash
Re: malloc during selectAll -> crash
- Subject: Re: malloc during selectAll -> crash
- From: Jim Correia <email@hidden>
- Date: Thu, 11 May 2006 16:17:09 -0400
On May 11, 2006, at 10:31 AM, Ryan Britton wrote:
On May 11, 2006, at 7:16 AM, Lorenzo wrote:
//////////////////////
NSMutableArray *items = [NSMutableArray array];
NSIndexSet *selectedRows = [self selectedRowIndexes];
unsigned int i, totItems = [selectedRows count];
if(totItems == 0) return items ;
unsigned int *buf = malloc(totItems);
You're allocating a buffer here of totItems bytes. An int is not a
single byte so you're bound to get a memory access error when you
attempt to access something outside your malloc'd memory. Try
replacing this with something like unsigned int *buf = (unsigned
int *) malloc(totlItems * sizeof(unsigned int));
And in fact, when allocating space for an array, calloc may be a
natural choice.
#include <stdlib.h>
void *
malloc(size_t size);
void *
calloc(size_t count, size_t size);
Jim
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden