GNU bug report logs -
#75457
[PATCH guile-zlib] zlib.scm: Fix uncompress for native 32-bit systems.
Previous Next
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* zlib.scm (uncompress): Use the sizeof an unsigned-long for all size
calculations instead of forcing 64-bit integers.
---
I tested this (all the tests passed) using the guix.scm in the repo using:
guix build -f guix.scm
guix build -f guix.scm --system=i686-linux
guix build -f guix.scm --system=powerpc-linux (with offloading to an
actual powerpc-linux machine)
zlib.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/zlib.scm b/zlib.scm
index 86ca4fc..a0702dc 100644
--- a/zlib.scm
+++ b/zlib.scm
@@ -425,9 +425,10 @@ require PORT to be a file port."
the uncompressed data."
(define (try-uncompress length)
(let* ((dest (make-bytevector (* (sizeof uint8) length)))
- (dest-length (make-bytevector 8))
- (source-length (make-bytevector 8)))
- (bytevector-u64-set! source-length 0 length (native-endianness))
+ (dest-length (make-bytevector (sizeof unsigned-long)))
+ (source-length (make-bytevector (sizeof unsigned-long))))
+ (bytevector-uint-set! source-length 0 length
+ (native-endianness) (sizeof unsigned-long))
(bytevector-uint-set! dest-length 0 length
(native-endianness) (sizeof unsigned-long))
(let ((result (%uncompress2 (bytevector->pointer dest)
base-commit: cfaf683579a97630040efe4b7596af4bc519b05e
--
Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
This bug report was last modified 127 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.