Please unblock sbcl 2.0.18-2, it fixes #503255 with a patch taken from upstream. The full interdiff is appended.
Thiemo diff -u sbcl-1.0.18.0/debian/changelog sbcl-1.0.18.0/debian/changelog --- sbcl-1.0.18.0/debian/changelog +++ sbcl-1.0.18.0/debian/changelog @@ -1,3 +1,9 @@ +sbcl (1:1.0.18.0-2) unstable; urgency=low + + * Fix cffi NULL pointer dereferencing. (Closes: #503255) + + -- Thiemo Seufer <[EMAIL PROTECTED]> Sat, 25 Oct 2008 01:06:48 +0100 + sbcl (1:1.0.18.0-1) unstable; urgency=low * New upstream release. Major changes: only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/saptran.lisp +++ sbcl-1.0.18.0/src/compiler/saptran.lisp @@ -48,7 +48,7 @@ (defknown sap-int (system-area-pointer) (unsigned-byte #.sb!vm::n-machine-word-bits) - (movable flushable)) + (movable flushable foldable)) (defknown int-sap ((unsigned-byte #.sb!vm::n-machine-word-bits)) system-area-pointer (movable)) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/x86-64/sap.lisp +++ sbcl-1.0.18.0/src/compiler/x86-64/sap.lisp @@ -190,7 +190,7 @@ (:policy :fast-safe) (:args (sap :scs (sap-reg))) (:arg-types system-area-pointer - (:constant (signed-byte 64))) + (:constant (signed-byte 32))) (:info offset) ,@(unless (eq size :qword) `((:temporary (:sc ,temp-sc @@ -240,7 +240,7 @@ 'result 'temp))) (:arg-types system-area-pointer - (:constant (signed-byte 64)) ,type) + (:constant (signed-byte 32)) ,type) (:info offset) ,@(unless (eq size :qword) `((:temporary (:sc ,temp-sc :offset rax-offset @@ -295,7 +295,7 @@ (:translate sap-ref-double) (:policy :fast-safe) (:args (sap :scs (sap-reg))) - (:arg-types system-area-pointer (:constant (signed-byte 64))) + (:arg-types system-area-pointer (:constant (signed-byte 32))) (:info offset) (:results (result :scs (double-reg))) (:result-types double-float) @@ -320,7 +320,7 @@ (:policy :fast-safe) (:args (sap :scs (sap-reg) :to (:eval 0)) (value :scs (double-reg))) - (:arg-types system-area-pointer (:constant (signed-byte 64)) double-float) + (:arg-types system-area-pointer (:constant (signed-byte 32)) double-float) (:info offset) (:results (result :scs (double-reg))) (:result-types double-float) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/x86-64/vm.lisp +++ sbcl-1.0.18.0/src/compiler/x86-64/vm.lisp @@ -428,7 +428,7 @@ (!def-vm-support-routine immediate-constant-sc (value) (typecase value ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - #-sb-xc-host system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (symbol (when (static-symbol-p value) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/x86/vm.lisp +++ sbcl-1.0.18.0/src/compiler/x86/vm.lisp @@ -384,7 +384,7 @@ (!def-vm-support-routine immediate-constant-sc (value) (typecase value ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - #-sb-xc-host system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (symbol (when (static-symbol-p value) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/ppc/vm.lisp +++ sbcl-1.0.18.0/src/compiler/ppc/vm.lisp @@ -278,7 +278,7 @@ (null (sc-number-or-lose 'null)) ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (symbol (if (static-symbol-p value) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/sparc/vm.lisp +++ sbcl-1.0.18.0/src/compiler/sparc/vm.lisp @@ -317,7 +317,7 @@ (null (sc-number-or-lose 'null)) ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (symbol (if (static-symbol-p value) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/mips/vm.lisp +++ sbcl-1.0.18.0/src/compiler/mips/vm.lisp @@ -306,7 +306,7 @@ (sc-number-or-lose 'immediate) nil)) ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (system-area-pointer (sc-number-or-lose 'immediate)) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/hppa/vm.lisp +++ sbcl-1.0.18.0/src/compiler/hppa/vm.lisp @@ -283,7 +283,7 @@ (null (sc-number-or-lose 'null)) ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - system-area-pointer character) + character) (sc-number-or-lose 'immediate)) (symbol (if (static-symbol-p value) only in patch2: unchanged: --- sbcl-1.0.18.0.orig/src/compiler/alpha/vm.lisp +++ sbcl-1.0.18.0/src/compiler/alpha/vm.lisp @@ -291,7 +291,7 @@ (null (sc-number-or-lose 'null )) ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) - system-area-pointer character) + character) (sc-number-or-lose 'immediate )) (symbol (if (static-symbol-p value) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]