backport patchs to fix memory leak Signed-off-by: hurricane618 <hurricane618@hotmail.com> (cherry picked from commit 5ed2d22ec2efbf06150b120e96891b013aea8ff7)