[QA] fix issues from HSE so that it parse files

This commit is contained in:
Vincent Hanquez 2015-05-03 14:47:16 +01:00
parent 937b5d08dd
commit 87777784c1
2 changed files with 8 additions and 9 deletions

View File

@ -57,7 +57,7 @@ secretKey bs
withByteArray bs $ \inp -> do
valid <- isValidPtr inp
if valid
then Right . SecretKey <$> B.copy bs (\_ -> return ())
then (Right . SecretKey) <$> B.copy bs (\_ -> return ())
else return $ Left "invalid secret key"
| otherwise = Left "secret key invalid size"
where

View File

@ -58,16 +58,15 @@ publicKey bs
-- | Try to build a secret key from a bytearray
secretKey :: ByteArrayAccess ba => ba -> CryptoFailable SecretKey
secretKey bs
| B.length bs == secretKeySize = unsafeDoIO $ do
withByteArray bs $ \inp -> do
| B.length bs == secretKeySize = unsafeDoIO $ withByteArray bs initialize
| otherwise = CryptoFailed CryptoError_SecretKeyStructureInvalid
where
initialize inp = do
valid <- isValidPtr inp
if valid
then CryptoPassed . SecretKey <$> B.copy bs (\_ -> return ())
then (CryptoPassed . SecretKey) <$> B.copy bs (\_ -> return ())
else return $ CryptoFailed CryptoError_SecretKeyStructureInvalid
| otherwise = CryptoFailed CryptoError_SecretKeyStructureInvalid
where
isValidPtr :: Ptr Word8 -> IO Bool
isValidPtr _ = do
isValidPtr _ =
return True
{-# NOINLINE secretKey #-}
@ -83,7 +82,7 @@ signature bs
toPublic :: SecretKey -> PublicKey
toPublic (SecretKey sec) = PublicKey <$>
B.allocAndFreeze publicKeySize $ \result ->
withByteArray sec $ \psec ->
withByteArray sec $ \psec ->
ccryptonite_ed25519_publickey psec result
{-# NOINLINE toPublic #-}