diff options
author | Ken Raeburn <raeburn@mit.edu> | 2002-03-13 21:33:23 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2002-03-13 21:33:23 +0000 |
commit | 82b64cfd2f8fffee076b63c867d5bcba1c10ed52 (patch) | |
tree | c0761a296a613e3f81058e01ffd03b0e02ebc13e /src/appl/bsd | |
parent | 2b7bf9d7859879ea85e8cdfa79d8550325bfe427 (diff) | |
download | krb5-82b64cfd2f8fffee076b63c867d5bcba1c10ed52.tar.gz krb5-82b64cfd2f8fffee076b63c867d5bcba1c10ed52.tar.xz krb5-82b64cfd2f8fffee076b63c867d5bcba1c10ed52.zip |
* kcmd.c (kcmd_connect): Actually save errno value when preparing error text to
print. Free address info before returning.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14271 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/bsd')
-rw-r--r-- | src/appl/bsd/ChangeLog | 3 | ||||
-rw-r--r-- | src/appl/bsd/kcmd.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog index 663b21ff7..1dd1d6a9e 100644 --- a/src/appl/bsd/ChangeLog +++ b/src/appl/bsd/ChangeLog @@ -1,7 +1,8 @@ 2002-03-13 Ken Raeburn <raeburn@mit.edu> * kcmd.c (kcmd_connect): Don't call fixup_addrinfo, it's been - deleted. + deleted. Actually save errno value when preparing error text to + print. Free address info before returning. 2002-03-08 Ken Raeburn <raeburn@mit.edu> diff --git a/src/appl/bsd/kcmd.c b/src/appl/bsd/kcmd.c index 709c60c36..402e6ccb9 100644 --- a/src/appl/bsd/kcmd.c +++ b/src/appl/bsd/kcmd.c @@ -229,6 +229,7 @@ kcmd_connect (int *sp, int *addrfamilyp, struct sockaddr_in *sockinp, *host_save = malloc(strlen(ap->ai_canonname) + 1); if (*host_save == NULL) { fprintf(stderr, "kcmd: no memory\n"); + freeaddrinfo(ap); return -1; } strcpy(*host_save, ap->ai_canonname); @@ -256,6 +257,7 @@ kcmd_connect (int *sp, int *addrfamilyp, struct sockaddr_in *sockinp, (*lportp)--; } + oerrno = errno; aierr = getnameinfo(ap->ai_addr, ap->ai_addrlen, hostbuf, sizeof(hostbuf), 0, 0, NI_NUMERICHOST); if (aierr) @@ -269,6 +271,7 @@ kcmd_connect (int *sp, int *addrfamilyp, struct sockaddr_in *sockinp, if (ap->ai_next) fprintf(stderr, "Trying next address...\n"); } + freeaddrinfo(ap2); return -1; connected: @@ -281,6 +284,7 @@ connected: *sp = s; *sockinp = *(struct sockaddr_in *) ap->ai_addr; + freeaddrinfo(ap2); return 0; } |