summaryrefslogtreecommitdiffstats
path: root/src/appl/bsd
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2002-03-13 21:33:23 +0000
committerKen Raeburn <raeburn@mit.edu>2002-03-13 21:33:23 +0000
commit82b64cfd2f8fffee076b63c867d5bcba1c10ed52 (patch)
treec0761a296a613e3f81058e01ffd03b0e02ebc13e /src/appl/bsd
parent2b7bf9d7859879ea85e8cdfa79d8550325bfe427 (diff)
downloadkrb5-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/ChangeLog3
-rw-r--r--src/appl/bsd/kcmd.c4
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;
}