diff options
author | 2022-02-22 00:58:44 +0000 | |
---|---|---|
committer | 2022-02-22 00:58:44 +0000 | |
commit | 9e8369277b272b15f3dd1159fa18b71ec4431a77 (patch) | |
tree | 39dd7dfab63a201fac656a2a2ecce3bf11c9d39f /dev-lang/ocaml/files | |
parent | dev-lang/ocaml: use tarball for 4.05/4.09/4.10 patches (diff) | |
download | gentoo-9e8369277b272b15f3dd1159fa18b71ec4431a77.tar.gz gentoo-9e8369277b272b15f3dd1159fa18b71ec4431a77.tar.bz2 gentoo-9e8369277b272b15f3dd1159fa18b71ec4431a77.zip |
dev-lang/ocaml: drop 4.05.0-r7, 4.05.0-r8, 4.10.2-r2
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/ocaml/files')
-rw-r--r-- | dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch | 70 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch | 59 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch | 42 |
3 files changed, 0 insertions, 171 deletions
diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch b/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch deleted file mode 100644 index cfe3ff636c25..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch +++ /dev/null @@ -1,70 +0,0 @@ -https://bugs.gentoo.org/755257 - -Needed for both fixing the CVE + compatibility with Debian for e.g. -Unison. - -From c6ca3afc78b75d7748e4e09e56c6b020418be06e Mon Sep 17 00:00:00 2001 -From: Stephane Glondu <steph@glondu.net> -Date: Fri, 25 Jan 2019 14:34:23 +0100 -Subject: [PATCH] Fix integer overflows when unmarshaling a bigarray - -Malicious or corrupted marshaled data can result in a bigarray -with impossibly large dimensions that cause overflow when computing -the in-memory size of the bigarray. Disaster ensues when the data -is read in a too small memory area. This commit checks for overflows -when computing the in-memory size of the bigarray. - -This patch is based on one by Xavier Leroy and has been modified to -use caml_ba_multov instead of caml_umul_overflow which is unavailable -in OCaml 4.05.0. - -The original commit hash is 85162eee9d4072fa9c2f498f03cd94e357033eec. - -Origin: https://github.com/ocaml/ocaml/pull/1718 -Bug: https://github.com/ocaml/ocaml/issues/7765 -Bug-Debian: https://bugs.debian.org/895472 -Bug-CVE: CVE-2018-9838 ---- a/otherlibs/bigarray/bigarray_stubs.c -+++ b/otherlibs/bigarray/bigarray_stubs.c -@@ -966,22 +966,34 @@ static void caml_ba_deserialize_longarray(void * dest, intnat num_elts) - uintnat caml_ba_deserialize(void * dst) - { - struct caml_ba_array * b = dst; -- int i, elt_size; -- uintnat num_elts; -+ int i; -+ uintnat num_elts, size; -+ int overflow; - - /* Read back header information */ - b->num_dims = caml_deserialize_uint_4(); -+ if (b->num_dims < 0 || b->num_dims > CAML_BA_MAX_NUM_DIMS) -+ caml_deserialize_error("input_value: wrong number of bigarray dimensions"); - b->flags = caml_deserialize_uint_4() | CAML_BA_MANAGED; - b->proxy = NULL; - for (i = 0; i < b->num_dims; i++) b->dim[i] = caml_deserialize_uint_4(); -- /* Compute total number of elements */ -- num_elts = caml_ba_num_elts(b); -- /* Determine element size in bytes */ -+ /* Compute total number of elements. Watch out for overflows (MPR#7765). */ -+ num_elts = 1; -+ for (i = 0; i < b->num_dims; i++) { -+ overflow = 0; -+ num_elts = caml_ba_multov(num_elts, b->dim[i], &overflow); -+ if (overflow) -+ caml_deserialize_error("input_value: size overflow for bigarray"); -+ } -+ /* Determine array size in bytes. Watch out for overflows (MPR#7765). */ - if ((b->flags & CAML_BA_KIND_MASK) > CAML_BA_CHAR) - caml_deserialize_error("input_value: bad bigarray kind"); -- elt_size = caml_ba_element_size[b->flags & CAML_BA_KIND_MASK]; -+ overflow = 0; -+ size = caml_ba_multov(num_elts, caml_ba_element_size[b->flags & CAML_BA_KIND_MASK], &overflow); -+ if (overflow) -+ caml_deserialize_error("input_value: size overflow for bigarray"); - /* Allocate room for data */ -- b->data = malloc(elt_size * num_elts); -+ b->data = malloc(size); - if (b->data == NULL) - caml_deserialize_error("input_value: out of memory for bigarray"); - /* Read data */ diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch b/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch deleted file mode 100644 index 8b2e99883167..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch +++ /dev/null @@ -1,59 +0,0 @@ ---- a/byterun/caml/intext.h -+++ b/byterun/caml/intext.h -@@ -196,7 +196,7 @@ - - CAMLextern struct code_fragment * caml_extern_find_code(char *addr); - --struct ext_table caml_code_fragments_table; -+extern struct ext_table caml_code_fragments_table; - - #endif /* CAML_INTERNALS */ - ---- a/byterun/caml/major_gc.h -+++ b/byterun/caml/major_gc.h -@@ -64,9 +64,9 @@ - extern char *caml_gc_sweep_hp; - - extern int caml_major_window; --double caml_major_ring[Max_major_window]; --int caml_major_ring_index; --double caml_major_work_credit; -+extern double caml_major_ring[Max_major_window]; -+extern int caml_major_ring_index; -+extern double caml_major_work_credit; - extern double caml_gc_clock; - - /* [caml_major_gc_hook] is called just between the end of the mark ---- a/byterun/meta.c -+++ b/byterun/meta.c -@@ -32,6 +32,8 @@ - #include "caml/prims.h" - #include "caml/stacks.h" - -+struct ext_table caml_code_fragments_table; -+ - #ifndef NATIVE_CODE - - CAMLprim value caml_get_global_data(value unit) ---- a/byterun/backtrace.c -+++ b/byterun/backtrace.c -@@ -28,7 +28,7 @@ - #include "caml/fail.h" - - /* The table of debug information fragments */ --struct ext_table caml_debug_info; -+extern struct ext_table caml_debug_info; - - CAMLexport int32_t caml_backtrace_active = 0; - CAMLexport int32_t caml_backtrace_pos = 0; ---- a/asmrun/startup.c -+++ b/asmrun/startup.c -@@ -44,7 +44,7 @@ - #endif - - extern int caml_parser_trace; --CAMLexport header_t caml_atom_table[256]; -+CAMLextern header_t caml_atom_table[256]; - char * caml_code_area_start, * caml_code_area_end; - - /* Initialize the atom table and the static data and code area limits. */ diff --git a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch b/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch deleted file mode 100644 index 7adb1ea0768d..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/runtime/Makefile -+++ b/runtime/Makefile -@@ -335,7 +335,7 @@ - # (without the extension, which is added by the macro) - define COMPILE_C_FILE - $(1).$(O): %.c -- $$(CC) -c $$(OC_CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$< -+ $$(CC) -c $$(OC_CFLAGS) $(CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$< - endef - - object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic ---- a/otherlibs/Makefile.otherlibs.common -+++ b/otherlibs/Makefile.otherlibs.common -@@ -138,4 +138,4 @@ - $(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $< - - .c.$(O): -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< ---- a/otherlibs/systhreads/Makefile -+++ b/otherlibs/systhreads/Makefile -@@ -102,10 +102,10 @@ - st_stubs_n.$(O): OC_CPPFLAGS += $(NATIVE_CPPFLAGS) - - st_stubs_b.$(O): st_stubs.c $(HEADER) -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< - - st_stubs_n.$(O): st_stubs.c $(HEADER) -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< - - partialclean: - rm -f *.cm* ---- a/Makefile.common.in -+++ b/Makefile.common.in -@@ -79,4 +79,4 @@ - # general (it supports both .o and .obj) - - %.$(O): %.c -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< |