fix double free msg bug