diff options
author | Andreas Rottmann <a.rottmann@gmx.at> | 2010-11-20 18:40:30 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2010-11-20 23:55:19 +0100 |
commit | a653d32a8d02c90a426232de5b432e60fc33c1da (patch) | |
tree | 1e8e93b3dd04bfccd68217949ea268710b492dd2 /libguile/regex-posix.c | |
parent | 8fdd85f834aa1e0ed76542cdc8ce63d323dc6c1e (diff) | |
download | guile-a653d32a8d02c90a426232de5b432e60fc33c1da.tar.gz |
Fix missing port-table locking and bytevector output port segfault
* libguile/r6rs-ports.c (make_bip, make_cbip, make_bop, make_cbop): Lock
the port table.
* libguile/r6rs-ports.c (make_bop): Let the returned extraction
procedure refer to the port's buffer instead of the port itself. This
fixes a segfault if the port is closed before the extraction procedure
is called.
(bop_proc_apply): Adapt accordingly.
* test-suite/tests/r6rs-ports.test (8.2.10 Output ports): Add testcase
for extraction after close.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'libguile/regex-posix.c')
0 files changed, 0 insertions, 0 deletions