Problema na substituição do malloc

Eu estou tentando substituir malloc fazendo isso.

#define malloc(X) my_malloc((X))

void* my_malloc(size_t size)
{

    void *p = malloc(size);
    printf ("Allocated = %s, %s, %s, %x\n",__FILE__, __LINE__, __FUNCTION__, p);
    return p;
}

No entanto, isso está chamando indefinidamente my_malloc recursivamente (por causa da chamada malloc dentro de my_malloc). Eu queria chamar a função C malloc dentro do my_malloc e não a implementação da macro. Você poderia por favor me avisar como fazer isso?

Obrigado.

questionAnswers(9)

yourAnswerToTheQuestion