]> foleosoft.com Git - CryptoFoleo.git/commitdiff
Thu Aug 17 06:54:56 PM EDT 2023
authormiha-q <>
Thu, 17 Aug 2023 22:54:56 +0000 (18:54 -0400)
committermiha-q <>
Thu, 17 Aug 2023 22:54:56 +0000 (18:54 -0400)
src/headers.hs

index 9a3ba7a8dbca57d32334b26801c7ab2b402fcae6..8adc21ee383681d65767b1b7b78f5bc3603b65aa 100644 (file)
@@ -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)