diff options
author | Matt Johnston <matt@ucc.asn.au> | 2013-03-19 23:54:32 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2013-03-19 23:54:32 +0800 |
commit | 4fd4fbc25583a2ea48662da1449958999376cd8e (patch) | |
tree | f1db0bf11ce51e13f37eec70601c5d955cb9572b /channel.h | |
parent | 8393c5f0166dc456462e3c80126107346e1d1b7c (diff) |
Fix memory leak when direct TCP connections time out on connection.
Long-standing bug probably stemming from the awkwardly named
delete_channel() versus remove_channel()
Diffstat (limited to 'channel.h')
-rw-r--r-- | channel.h | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -61,7 +61,8 @@ struct Channel { int readfd; /* read from insecure side, written to wire */ int errfd; /* used like writefd or readfd, depending if it's client or server. Doesn't exactly belong here, but is cleaner here */ - circbuffer *writebuf; /* data from the wire, for local consumption */ + circbuffer *writebuf; /* data from the wire, for local consumption. Can be + initially NULL */ circbuffer *extrabuf; /* extended-data for the program - used like writebuf but for stderr */ @@ -102,9 +103,6 @@ void chancleanup(); void setchannelfds(fd_set *readfd, fd_set *writefd); void channelio(fd_set *readfd, fd_set *writefd); struct Channel* getchannel(); -struct Channel* newchannel(unsigned int remotechan, - const struct ChanType *type, - unsigned int transwindow, unsigned int transmaxpacket); void recv_msg_channel_open(); void recv_msg_channel_request(); |