diff --git a/lib/WebService/Validator/HTML/W3C.pm b/lib/WebService/Validator/HTML/W3C.pm
index d9c4369..dca14c9 100644
--- a/lib/WebService/Validator/HTML/W3C.pm
+++ b/lib/WebService/Validator/HTML/W3C.pm
@@ -325,6 +325,7 @@ sub errors {
return undef;
}
+ local $XML::XPath::SafeMode = 1; # avoid memory leaks
my $xp = XML::XPath->new( xml => $self->_content() );
if ( $self->_output eq 'xml' ) {
@@ -365,6 +366,8 @@ sub errors {
}
}
+ $xp->cleanup;
+
return \@errs;
}