summaryrefslogtreecommitdiffstats
path: root/stdlib/pervasives.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2002-07-12 09:47:54 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2002-07-12 09:47:54 +0000
commitede12e6163058650508a0fbb08177ab4ee4daf02 (patch)
tree6241a927f8d50e772b0cd74ba83e5cdc0d456c5c /stdlib/pervasives.ml
parent4865d98f29e1f648c7b45a9304dff12604d6abb8 (diff)
Remplacement des tests ofs + len > length par ofs > len - length, pour eviter le debordement lors de l'addition (PR#1229)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4993 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib/pervasives.ml')
-rw-r--r--stdlib/pervasives.ml8
1 files changed, 4 insertions, 4 deletions
diff --git a/stdlib/pervasives.ml b/stdlib/pervasives.ml
index b048ef33a..66822723a 100644
--- a/stdlib/pervasives.ml
+++ b/stdlib/pervasives.ml
@@ -153,7 +153,7 @@ let (^) s1 s2 =
external int_of_char : char -> int = "%identity"
external unsafe_char_of_int : int -> char = "%identity"
let char_of_int n =
- if n < 0 or n > 255 then invalid_arg "char_of_int" else unsafe_char_of_int n
+ if n < 0 || n > 255 then invalid_arg "char_of_int" else unsafe_char_of_int n
(* Unit operations *)
@@ -255,7 +255,7 @@ let output_string oc s =
unsafe_output oc s 0 (string_length s)
let output oc s ofs len =
- if ofs < 0 || len < 0 || ofs + len > string_length s
+ if ofs < 0 || len < 0 || ofs > string_length s - len
then invalid_arg "output"
else unsafe_output oc s ofs len
@@ -291,7 +291,7 @@ external unsafe_input : in_channel -> string -> int -> int -> int
= "caml_input"
let input ic s ofs len =
- if ofs < 0 || len < 0 || ofs + len > string_length s
+ if ofs < 0 || len < 0 || ofs > string_length s - len
then invalid_arg "input"
else unsafe_input ic s ofs len
@@ -304,7 +304,7 @@ let rec unsafe_really_input ic s ofs len =
end
let really_input ic s ofs len =
- if ofs < 0 || len < 0 || ofs + len > string_length s
+ if ofs < 0 || len < 0 || ofs > string_length s - len
then invalid_arg "really_input"
else unsafe_really_input ic s ofs len