From 66e02f12198b4c9497d6193920ff80bc13551821 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Sat, 10 Aug 2013 13:34:54 -0500 Subject: Fix bug in parsing signature subpacket lengths. --- Data/OpenPGP.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Data') diff --git a/Data/OpenPGP.hs b/Data/OpenPGP.hs index 3008fc2..7995d89 100644 --- a/Data/OpenPGP.hs +++ b/Data/OpenPGP.hs @@ -1051,9 +1051,9 @@ instance BINARY_CLASS SignatureSubpacket where get = do len <- fmap fromIntegral (get :: Get Word8) len <- case len of - _ | len > 190 && len < 255 -> do -- Two octet length + _ | len >= 192 && len < 255 -> do -- Two octet length second <- fmap fromIntegral (get :: Get Word8) - return $ ((len - 192) `shiftR` 8) + second + 192 + return $ ((len - 192) `shiftL` 8) + second + 192 255 -> -- Five octet length fmap fromIntegral (get :: Get Word32) _ -> -- One octet length, no furthur processing -- cgit v1.2.3