malloc()のキャストはK&R時代の古い書き方だと思うが。
C89以降は暗黙的に型変換されるのでキャスト不要のはず。