summaryrefslogtreecommitdiffstats
path: root/development/chicken/patches/02_all_CVE-2013-2024.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/chicken/patches/02_all_CVE-2013-2024.patch')
-rw-r--r--development/chicken/patches/02_all_CVE-2013-2024.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/development/chicken/patches/02_all_CVE-2013-2024.patch b/development/chicken/patches/02_all_CVE-2013-2024.patch
new file mode 100644
index 0000000000..d57a4bce97
--- /dev/null
+++ b/development/chicken/patches/02_all_CVE-2013-2024.patch
@@ -0,0 +1,47 @@
+From http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commit;h=58684f69572453acc6fed7326fa9df39be98760e
+--- chicken-4.8.0.3/setup-api.scm
++++ chicken-4.8.0.3/setup-api.scm
+@@ -239,7 +239,7 @@
+ (cond ((string=? prg "csc")
+ (string-intersperse
+ (cons*
+- (shellpath (find-program "csc"))
++ (find-program "csc")
+ "-feature" "compiling-extension"
+ (if (or (deployment-mode)
+ (and (feature? #:cross-chicken)
+--- chicken-4.8.0.3/utils.scm
++++ chicken-4.8.0.3/utils.scm
+@@ -59,20 +59,18 @@
+ ;;; Quote string for shell
+
+ (define (qs str #!optional (platform (build-platform)))
+- (case platform
+- ((mingw32)
+- (string-append "\"" str "\""))
+- (else
+- (if (zero? (string-length str))
+- "''"
+- (string-concatenate
+- (map (lambda (c)
+- (if (or (char-whitespace? c)
+- (memq c '(#\# #\" #\' #\` #\´ #\~ #\& #\% #\$ #\! #\* #\;
+- #\< #\> #\\ #\( #\) #\[ #\] #\{ #\} #\?)))
+- (string #\\ c)
+- (string c)))
+- (string->list str)))))))
++ (let ((delim (if (eq? platform 'mingw32) #\" #\'))
++ (escaped (if (eq? platform 'mingw32) "\"\"" "'\\''")))
++ (string-append
++ (string delim)
++ (string-concatenate
++ (map (lambda (c)
++ (cond
++ ((char=? c delim) escaped)
++ ((char=? c #\nul) (error 'qs "NUL character can not be represented in shell string" str))
++ (else (string c))))
++ (string->list str)))
++ (string delim))))
+
+
+ ;;; Compile and load file