--- Begin Message ---
Subject: |
Division by zero in bytevector->uint-list |
Date: |
Thu, 15 Aug 2013 13:02:16 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
Hello schemers,
the bytevector->uint-list procedure from (rnrs) can crash Guile through
a division by zero:
scheme@(guile-user)> (import (rnrs))
scheme@(guile-user)> (bytevector->uint-list #vu8(0) 'x 0)
Floating point exception
The same happens with bytevector->sint-list. These procedures also do
not check that the length of the bytevector is divisible by the size.
Tested with GNU Guile 2.0.9.71-8d5d04.
Regards,
--
Göran Weinholt <address@hidden>
"What's worse than clowns? Danish clowns."
-- Mystery Science Theatre 3000
pgp3npmVuxi_t.pgp
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#15100: Division by zero in bytevector->uint-list |
Date: |
Fri, 16 Aug 2013 23:19:15 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Göran Weinholt <address@hidden> writes:
> the bytevector->uint-list procedure from (rnrs) can crash Guile through
> a division by zero:
>
> scheme@(guile-user)> (import (rnrs))
> scheme@(guile-user)> (bytevector->uint-list #vu8(0) 'x 0)
> Floating point exception
>
> The same happens with bytevector->sint-list.
Fixed in 088cfb7d761b01a2620d78f10e8dbcaa07485a32.
> These procedures also do not check that the length of the bytevector
> is divisible by the size.
I don't think we can fix this in stable-2.0, because some existing code
might depend on our current permissive behavior. However, I fixed it on
the master branch in c099201da1de71652b9791fb0a3a863b6d3c355d.
Thanks!
Mark
--- End Message ---