ポインタを引数とする関数で、引数のポインタに別のポインタを代入して
その上位の関数で利用したいのですが、セグメンテーションフォールトになります。
何か良い方法はないでしょうか?

以下はプログラムの概要です。
関数hogeはreturnを使用しない方向でお願いします。

int *foo;

void hoge (int * fuga)
{
fuga = foo;
}

int main()
{
int *fuga;
foo = (int *)malloc(int);
*foo = 1;

hoge (fuga);
printf("fuga=%d\n",fuga);
}