# HG changeset patch # User Matt Johnston # Date 1125933412 0 # Node ID 3311f4aa52cba6441c320a888ae8a912dd10274e # Parent c5d3ef11155f7f974f3a3a8d8bf943c77360956c# Parent 581f81e8c50cabf4a56db9c41b7a395482d6cbbd merge of da30137eaac417f50a323f9ddd29999ec21261e0 and fb45ddf51e20f0ff007eb8abc737de3c024f45cc diff -r c5d3ef11155f -r 3311f4aa52cb channel.h --- a/channel.h Mon Sep 05 15:16:10 2005 +0000 +++ b/channel.h Mon Sep 05 15:16:52 2005 +0000 @@ -96,7 +96,7 @@ }; -void chaninitialise(); +void chaninitialise(const struct ChanType *chantypes[]); void chancleanup(); void setchannelfds(fd_set *readfd, fd_set *writefd); void channelio(fd_set *readfd, fd_set *writefd); diff -r c5d3ef11155f -r 3311f4aa52cb common-session.c --- a/common-session.c Mon Sep 05 15:16:10 2005 +0000 +++ b/common-session.c Mon Sep 05 15:16:52 2005 +0000 @@ -62,7 +62,6 @@ ses.connecttimeout = 0; kexfirstinitialise(); /* initialise the kex state */ - chaninitialise(); /* initialise the channel state */ ses.writepayload = buf_new(MAX_TRANS_PAYLOAD_LEN); ses.transseq = 0; diff -r c5d3ef11155f -r 3311f4aa52cb dbutil.c --- a/dbutil.c Mon Sep 05 15:16:10 2005 +0000 +++ b/dbutil.c Mon Sep 05 15:16:52 2005 +0000 @@ -190,6 +190,10 @@ *errstring = (char*)m_malloc(len); snprintf(*errstring, len, "Error resolving: %s", gai_strerror(err)); } + if (res0) { + freeaddrinfo(res0); + res0 = NULL; + } TRACE(("leave dropbear_listen: failed resolving")) return -1; } @@ -241,6 +245,11 @@ nsock++; } + if (res0) { + freeaddrinfo(res0); + res0 = NULL; + } + if (nsock == 0) { if (errstring != NULL && *errstring == NULL) { int len;