fixed malloc bugs