From f4022b6bc4731cfe8899bcd8bb277fc9db9becfd Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 20 May 2005 05:23:27 +0000 Subject: [PATCH] fix errors --- stepmania/src/CryptHelpers.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/stepmania/src/CryptHelpers.cpp b/stepmania/src/CryptHelpers.cpp index 5c5781906e..95ae0c3ea0 100644 --- a/stepmania/src/CryptHelpers.cpp +++ b/stepmania/src/CryptHelpers.cpp @@ -1,6 +1,7 @@ #include "global.h" #include "CryptHelpers.h" #include "RageFile.h" +#include "RageUtil.h" #include "RageLog.h" // crypt headers @@ -236,7 +237,10 @@ bool CryptHelpers::VerifyFile( RageFileBasic &file, CString sSignature, CString RSASSA_PKCS1v15_SHA_Verifier pub(pubFile); if( sSignature.size() != pub.SignatureLength() ) + { + sError = ssprintf( "Invalid signature length: got %i, expected %i", sSignature.size(), pub.SignatureLength() ); return false; + } VerifierFilter *verifierFilter = new VerifierFilter(pub); verifierFilter->Put( (byte *) sSignature.data(), sSignature.size() ); @@ -244,7 +248,13 @@ bool CryptHelpers::VerifyFile( RageFileBasic &file, CString sSignature, CString /* RageFileSource will delete the file we give to it, so make a copy. */ RageFileSource f( file.Copy(), true, verifierFilter ); - return verifierFilter->GetLastResult(); + if( !verifierFilter->GetLastResult() ) + { + sError = ssprintf( "Signature mismatch" ); + return false; + } + + return true; } catch( const CryptoPP::Exception &s ) { sError = s.what(); return false;