fix malloc bug