X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=bitstring.ml;fp=bitstring.ml;h=8a9ef3e0bb83294958a3785c3a9a182998d2bcc5;hb=1f8a6c6db8999dcdec39c15d44884eb36e07e455;hp=1044d896c4d5584447800d1bbaf8385cafb3b0d2;hpb=3a856c69a3a92357db4e1204c45d922a5aad6c02;p=ocaml-bitstring.git diff --git a/bitstring.ml b/bitstring.ml index 1044d89..8a9ef3e 100644 --- a/bitstring.ml +++ b/bitstring.ml @@ -130,7 +130,7 @@ let bitstring_length (_, _, len) = len let subbitstring (data, off, len) off' len' = let off = off + off' in - if len < off' + len' then invalid_arg "subbitstring"; + if off' < 0 || len' < 0 || off' > len - len' then invalid_arg "subbitstring"; (data, off, len') let dropbits n (data, off, len) =