Segmentation faultについて教えてください。
linux上でアプリケーションを作成しました。
シェルがプログラムAとプログラムBを呼び出します。

プログラムAがプログラムCをSYSTEMで呼び出します。

暫く実行すると、プログラムCがSegmentation faultかabortで終了します。
ただし、シェルで呼び出しているプログラムBをコメント化すると、Cが落ちることはなくなります。
プログラムBは単純に内部でSYSTEMコールで外部プログラムを起動するだけのものです。
(呼び出す外部プログラムは計算を行うPGですが、数秒で終了します。)

そもそも、Segmentation faultが、Cでのコードにより発生する要因として、
添え字の範囲外はmallocのfree忘れくらいしかないと思いますが、他になにかありますか?