OK, thanks, I will try out that approach. Alan
On 22/05/2015 16:17, "Daniel Stenberg" <[email protected]> wrote: >On Thu, 21 May 2015, Alan Cronin (alcronin) wrote: > >> For the first approach of creating a custom allocator have you heard of >> people taking this approach before to zero memory. In this case it >>would be >> tested using in house tools and up to the creators of the allocator to >> ensure that it works. My only concern with this approach is in the free >> callback that cURL uses to deallocate memory. All that is supplied is >>an >> address and not a size, so to zero the data before freeing would need >>either >> a modification of the callback or a structure to be created around the >>data >> which stores the size, which can lead to issues in itself. > >What issues would that lead to? As long as the function you use to >allocate >memory allocate memory on aligned addresses you should be fine on most >architectures I would think. I've not done a custom allocator for this >particular purpose but I've done similar operations many times in the >past. > >Such a custom allocator would need to store the size of the newly >allocated >block so that it later can figure out how much to clear. Something like >this >_untested_ pseudo code: > >struct memory { > size_t size; >}; > >void *malloc_replacement(size_t size) >{ > struct memory *mem = malloc(sizeof(struct memory) + size) > if(mem) { > mem->size = size; > return mem+sizeof(struct memory); > } >} > >void free_replacement(void *ptr) >{ > struct memory *mem = ptr - sizeof(struct memory); > memset(ptr, 0, mem->size); /* clear memory area */ > free(mem); >} > >-- > > / daniel.haxx.se >------------------------------------------------------------------- >List admin: http://cool.haxx.se/list/listinfo/curl-library >Etiquette: http://curl.haxx.se/mail/etiquette.html ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
