diff --git a/rng/rng.ml b/rng/rng.ml index 475a8f69..52603ec8 100644 --- a/rng/rng.ml +++ b/rng/rng.ml @@ -73,6 +73,9 @@ let get = function Some g -> g | None -> default_generator () let generate_into ?(g = default_generator ()) b ?(off = 0) n = let Generator (g, _, m) = g in let module M = (val m) in + if off < 0 || n < 0 then + invalid_arg ("negative offset " ^ string_of_int off ^ " or length " ^ + string_of_int n); if Bytes.length b - off < n then invalid_arg "buffer too short"; M.generate_into ~g b ~off n