strdup("aaa");
で作った配列はいつフリーするよ?
関数の中で使っちまうとフリーできないじゃん。