From 1d40f3c38c00225df29784ac3277f0413fab65fc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabian=20Gr=C3=BCnbichler?= Date: Mon, 27 Nov 2017 10:18:48 +0100 Subject: [PATCH 1/1] cleanup Net::SSLeay error handling X509_get_fingerprint does not die - it only returns undef in case of errors (or segfaults if the $cert pointer is invalid). --- PVE/APIClient/LWP.pm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/PVE/APIClient/LWP.pm b/PVE/APIClient/LWP.pm index 2ae8c1a..36e1b06 100755 --- a/PVE/APIClient/LWP.pm +++ b/PVE/APIClient/LWP.pm @@ -258,11 +258,8 @@ my $verify_cert_callback = sub { # check server certificate against cache of pinned FPs # get fingerprint of server certificate - my $fp; - eval { - $fp = Net::SSLeay::X509_get_fingerprint($cert, 'sha256'); - }; - return 0 if $@ || !defined($fp) || $fp eq ''; # error + my $fp = Net::SSLeay::X509_get_fingerprint($cert, 'sha256'); + return 0 !defined($fp) || $fp eq ''; # error my $valid = $self->{cached_fingerprints}->{$fp}; return $valid if defined($valid); # return cached result -- 2.39.2