fix string bug
add free mem