2006/05/25

jfbtermと戯れる その2

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なんて 入れないだろうしなぁ。



0 件のコメント :

コメントを投稿

Comments on Google+: