mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 18:50:28 +09:00
The ssh_message object needs to be freed after processing in channel_accept().
Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Andreas Schneider <mail@cynapses.org>
This commit is contained in:
committed by
Andreas Schneider
parent
b3589fbf6c
commit
474d63f24e
@@ -1359,6 +1359,7 @@ static ssh_channel channel_accept(ssh_session session, int channeltype,
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
ssh_message msg = NULL;
|
ssh_message msg = NULL;
|
||||||
|
ssh_channel channel = NULL;
|
||||||
struct ssh_iterator *iterator;
|
struct ssh_iterator *iterator;
|
||||||
int t;
|
int t;
|
||||||
|
|
||||||
@@ -1373,7 +1374,9 @@ static ssh_channel channel_accept(ssh_session session, int channeltype,
|
|||||||
if (ssh_message_type(msg) == SSH_REQUEST_CHANNEL_OPEN &&
|
if (ssh_message_type(msg) == SSH_REQUEST_CHANNEL_OPEN &&
|
||||||
ssh_message_subtype(msg) == channeltype) {
|
ssh_message_subtype(msg) == channeltype) {
|
||||||
ssh_list_remove(session->ssh_message_list, iterator);
|
ssh_list_remove(session->ssh_message_list, iterator);
|
||||||
return ssh_message_channel_request_open_reply_accept(msg);
|
channel = ssh_message_channel_request_open_reply_accept(msg);
|
||||||
|
ssh_message_free(msg);
|
||||||
|
return channel;
|
||||||
}
|
}
|
||||||
iterator = iterator->next;
|
iterator = iterator->next;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user