マクロについて質問です。
メモリリークを調べるため、
自作のアロケーターでmalloc関数群を隠そうと思います。

void *chk_malloc(size_t size, file, line) {

}
#define malloc(size) chk_malloc(size, __FILE__,__LINE__)

こんな感じです。

この場合、

int (*f)() = malloc;

の様に値として代入が発生した場合は関数マクロは効力が発揮できませんが、
この場合でもchk_mallocを代入するように細工する方法はないでしょうか。

#define malloc chk_malloc
とすると fileとlineの情報が欠落してしまいます。