Fix double free and potential memory leak in previous commit