fix malloc() bug