summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/appl/telnet/libtelnet/kerberos.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/heimdal/appl/telnet/libtelnet/kerberos.c')
-rw-r--r--crypto/heimdal/appl/telnet/libtelnet/kerberos.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/crypto/heimdal/appl/telnet/libtelnet/kerberos.c b/crypto/heimdal/appl/telnet/libtelnet/kerberos.c
index 09d3073..1c86fe2 100644
--- a/crypto/heimdal/appl/telnet/libtelnet/kerberos.c
+++ b/crypto/heimdal/appl/telnet/libtelnet/kerberos.c
@@ -55,7 +55,7 @@
#include <config.h>
#endif
-RCSID("$Id: kerberos.c,v 1.54 2001/08/22 20:30:22 assar Exp $");
+RCSID("$Id: kerberos.c 22071 2007-11-14 20:04:50Z lha $");
#ifdef KRB4
#ifdef HAVE_SYS_TYPES_H
@@ -347,14 +347,15 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt)
Data(ap, KRB_ACCEPT, NULL, 0);
} else {
char *msg;
+ int ret;
- asprintf (&msg, "user `%s' is not authorized to "
- "login as `%s'",
- krb_unparse_name_long(adat.pname,
- adat.pinst,
- adat.prealm),
- UserNameRequested ? UserNameRequested : "<nobody>");
- if (msg == NULL)
+ ret = asprintf (&msg, "user `%s' is not authorized to "
+ "login as `%s'",
+ krb_unparse_name_long(adat.pname,
+ adat.pinst,
+ adat.prealm),
+ UserNameRequested ? UserNameRequested : "<nobody>");
+ if (ret == -1)
Data(ap, KRB_REJECT, NULL, 0);
else {
Data(ap, KRB_REJECT, (void *)msg, -1);
@@ -440,7 +441,7 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt)
}
}
memset(data, 0, cnt);
- memset(ks, 0, sizeof(ks));
+ memset(&ks, 0, sizeof(ks));
memset(&cred, 0, sizeof(cred));
}
@@ -540,7 +541,7 @@ kerberos4_printsub(unsigned char *data, int cnt, unsigned char *buf, int buflen)
{
int i;
- buf[buflen-1] = '\0'; /* make sure its NULL terminated */
+ buf[buflen-1] = '\0'; /* make sure it's NULL terminated */
buflen -= 1;
switch(data[3]) {
@@ -651,7 +652,7 @@ static int
unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred)
{
char *p = (char*)buf;
- u_int32_t tmp;
+ uint32_t tmp;
strncpy (cred->service, p, ANAME_SZ);
cred->service[ANAME_SZ - 1] = '\0';
@@ -675,7 +676,7 @@ unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred)
p += cred->ticket_st.length;
p += krb_get_int(p, &tmp, 4, 0);
cred->ticket_st.mbz = 0;
- p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0);
+ p += krb_get_int(p, (uint32_t *)&cred->issue_date, 4, 0);
strncpy (cred->pname, p, ANAME_SZ);
cred->pname[ANAME_SZ - 1] = '\0';
@@ -712,7 +713,7 @@ kerberos4_forward(Authenticator *ap, void *v)
len = pack_cred(&cred, netcred);
des_pcbc_encrypt((void*)netcred, (void*)netcred, len,
ks, key, DES_ENCRYPT);
- memset(ks, 0, sizeof(ks));
+ memset(&ks, 0, sizeof(ks));
Data(ap, KRB_FORWARD, netcred, len);
memset(netcred, 0, sizeof(netcred));
return 0;
OpenPOWER on IntegriCloud