diff options
author | Stephen Paul Weber <singpolyma@singpolyma.net> | 2013-08-10 13:34:54 -0500 |
---|---|---|
committer | Stephen Paul Weber <singpolyma@singpolyma.net> | 2013-08-10 13:35:06 -0500 |
commit | 66e02f12198b4c9497d6193920ff80bc13551821 (patch) | |
tree | ce52cea3f5643b9a2a2c0089f1865150da66f3d7 /Data | |
parent | bdc1636bf130c46bbc5ce550d737e6dabe80a059 (diff) |
Fix bug in parsing signature subpacket lengths.
Diffstat (limited to 'Data')
-rw-r--r-- | Data/OpenPGP.hs | 4 |
1 files changed, 2 insertions, 2 deletions
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 | |||
1051 | get = do | 1051 | get = do |
1052 | len <- fmap fromIntegral (get :: Get Word8) | 1052 | len <- fmap fromIntegral (get :: Get Word8) |
1053 | len <- case len of | 1053 | len <- case len of |
1054 | _ | len > 190 && len < 255 -> do -- Two octet length | 1054 | _ | len >= 192 && len < 255 -> do -- Two octet length |
1055 | second <- fmap fromIntegral (get :: Get Word8) | 1055 | second <- fmap fromIntegral (get :: Get Word8) |
1056 | return $ ((len - 192) `shiftR` 8) + second + 192 | 1056 | return $ ((len - 192) `shiftL` 8) + second + 192 |
1057 | 255 -> -- Five octet length | 1057 | 255 -> -- Five octet length |
1058 | fmap fromIntegral (get :: Get Word32) | 1058 | fmap fromIntegral (get :: Get Word32) |
1059 | _ -> -- One octet length, no furthur processing | 1059 | _ -> -- One octet length, no furthur processing |