From: miha-q <> Date: Thu, 17 Aug 2023 22:54:56 +0000 (-0400) Subject: Thu Aug 17 06:54:56 PM EDT 2023 X-Git-Url: http://www.foleosoft.com/?a=commitdiff_plain;h=012ceb49c55b77bdc6f42576c8bf0fc785f0547c;p=CryptoFoleo.git Thu Aug 17 06:54:56 PM EDT 2023 --- diff --git a/src/headers.hs b/src/headers.hs index 9a3ba7a..8adc21e 100644 --- a/src/headers.hs +++ b/src/headers.hs @@ -186,13 +186,13 @@ dhke v = do bsPtr <- BI.create modSize (\ptr -> MU.copyBytes ptr (castPtr secretPtr) modSize) c_free secretPtr return bsPtr - else if Prelude.length v == 1 then do + else if Prelude.length v == 1 && (BS.length (v !! 0)) == modSize then do useAsCString (v !! 0) $ \secretPtr -> do sharePtr <- c_dhke (castPtr secretPtr) nullPtr bsPtr <- BI.create modSize (\ptr -> MU.copyBytes ptr (castPtr sharePtr) modSize) c_free sharePtr return bsPtr - else if Prelude.length v == 2 then do + else if Prelude.length v == 2 && (BS.length (v !! 0)) == modSize && (BS.length (v !! 1)) == modSize then do useAsCString (v !! 0) $ \secretPtr -> do useAsCString (v !! 1) $ \sharePtr -> do keyPtr <- c_dhke (castPtr secretPtr) (castPtr sharePtr)