> Or what do we do here? Double pointers start confusing me. i reach here the limit of my knowlegde of C too. but why not : if(data) { data = NULL; } if have found by trial and error that's the only thing that is not seg faulting and void **data; data=NULL; is the same than void **data=NULL;