gccは
char buf[256] = {0};って記述しても
0に初期化されることはない

腐ってやがる