Hi,
Here is an fix for segfault in Chicken scheme which could cause denial of
service.
More details can be found on chicken mailing list:
https://lists.nongnu.org/archive/html/chicken-announce/2017-05/msg00000.html
Timo
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/chicken/Makefile.inc,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile.inc
--- Makefile.inc 17 Mar 2017 23:40:47 -0000 1.11
+++ Makefile.inc 1 Jun 2017 03:36:42 -0000
@@ -3,7 +3,7 @@
COMMENT= practical and portable Scheme system
V= 4.12.0
-REVISION= 0
+REVISION= 1
DISTNAME= chicken-${V}
MAINTAINER= Timo Myyra <timo.myyra@wickedbsd.net>
Index: core/patches/patch-runtime_c
===================================================================
RCS file: core/patches/patch-runtime_c
diff -N core/patches/patch-runtime_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ core/patches/patch-runtime_c 1 Jun 2017 03:36:42 -0000
@@ -0,0 +1,15 @@
+$OpenBSD$
+Fix segmentation fault in "length" on improper lists.
+
+Index: runtime.c
+--- runtime.c.orig
++++ runtime.c
+@@ -5372,7 +5372,7 @@ C_regparm C_word C_fcall C_i_length(C_word lst)
+ }
+ }
+
+- if(C_immediatep(slow) || C_block_header(lst) != C_PAIR_TAG)
++ if(C_immediatep(slow) || C_block_header(slow) != C_PAIR_TAG)
+ barf(C_NOT_A_PROPER_LIST_ERROR, "length", lst);
+
+ slow = C_u_i_cdr(slow);
No comments:
Post a Comment