Linuxをインストールした環境では
シングルモードで起動しても正常に動くのに、kernel+ほとんど空っぽのシステム
という構成にすると、Segmentation Faultになる。どうしてだかさっぱり
わからないので、ソースをインストール、どこまで動いているのかprintf攻撃。
すると、/etc/passwdや/var/run/utmpが必要らしい。getpwuid()が使われている。
が、その戻り値を確認せずにメンバpw_nameをstrncpyの引数にしている。utmpに
書く名前を取り出しているのだろう。どこまでファイルを用意すれば、getpwuid()が
正しくエントリを返すのだろう?/etc/passwdと/var/run/utmpを用意しただけでは
だめだった。
普通に使う分には、getpwuid()がNULLを返すというケースはあまり考えにくい だろうけど、日本語が使える最小ブート構成とかやろうとすると、/etc/passwdなんて 入れないだろうしなぁ。