Hi,
I'm trying to pass a pointer to a function, and then have the function allocate some memory for that pointer. Is this possible?
I tried the following code, but doesn't seem to work. Once I return from the function, the pointer seems to be void. The program crashes when I try to access it in main with memcpy() or some other function.
Code:
int main()
{
unsigned char *ptr;
int memSize;
unsigned char temp[1024]; // 1024 is larger than memSize
foo(ptr, &memSize);
memcpy(temp, ptr, memSize);
}
void foo(unsigned char *ptr, int memSize)
{
*memSize = someotherfunction();
ptr = (unsigned char *)malloc(*memSize)
}