added malloc & char* bug