diff options
| author | Artyom Poptsov <poptsov.artyom@gmail.com> | 2014-06-06 04:07:25 +0400 |
|---|---|---|
| committer | Artyom Poptsov <poptsov.artyom@gmail.com> | 2014-06-06 04:07:25 +0400 |
| commit | c8bc04c45c66c8e416500b04f0042ec7b010958c (patch) | |
| tree | 14d1b17b51aa6f58b614cb04f331fa04c8f6f114 /NEWS | |
| parent | tests/key.scm: New test suite (diff) | |
| download | guile-ssh-c8bc04c45c66c8e416500b04f0042ec7b010958c.tar.gz | |
Fix a GC issue: Keep reference to a parent object in smobs
Fix a GC issue: Keep a reference to the parent session in channel and
message smobs to prevent the session from premature GC'ing. Without
the fix GC could free a session even if there are live channels and by
that break the channels.
Reported by Ludovic Courtès <ludo@gnu.org>
* ssh/channel-type.h (channel_data): Store a reference to the parent
session.
* ssh/message-type.h (message_data): Likewise.
* ssh/channel-type.c (_ssh_channel_to_scm): Change argument list. All
callers updated.
(guile_ssh_make_channel): Update.
* ssh/message-func.c
(guile_ssh_message_channel_request_open_reply_accept): Update.
* ssh/server-func.c (guile_ssh_server_message_get): Store a reference
to a session in the message smob.
* NEWS: Update.
Diffstat (limited to 'NEWS')
| -rw-r--r-- | NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -22,6 +22,10 @@ Copyright (C) Artyom V. Poptsov <poptsov.artyom@gmail.com> ** New `bytevector->hex-string' procedure in (ssh key) ** Add tests for Guile-SSH keys ** Bug fixes +*** Fix a GC issue + Keep a reference to the parent session in channels and messages to prevent + the session from premature GC'ing. Without that GC could free a session + even if there are live channels and by that break the channels. *** `public-key?' and `private-key?' now produce correct result Functions now return `#f' if the given argument is not a Guile-SSH key object. |
