Scusa ... ma hai errori di compilazione o a runtime? Cosa succede?
E poi e' vero ... come ti e' stato detto la funzione accetta un
void *
e restituisce un void *
Quindi, a parte che manda un
return NULL;
nella funzione, la stessa va modificata per accettare il parametro void * e va effettuato il cast del parametro all'interno della stessa ...