(unpack_cred): fix subscripts
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4872 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -302,6 +302,14 @@ kerberos4_is(Authenticator *ap, unsigned char *data, int cnt)
|
|||||||
auth_finished(ap, AUTH_REJECT);
|
auth_finished(ap, AUTH_REJECT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (addr.sin_family != AF_INET) {
|
||||||
|
if (auth_debug_mode)
|
||||||
|
printf("unknown address family: %d\r\n", addr.sin_family);
|
||||||
|
Data(ap, KRB_REJECT, "bad address family", -1);
|
||||||
|
auth_finished(ap, AUTH_REJECT);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
r = krb_rd_req(&auth, KRB_SERVICE_NAME,
|
r = krb_rd_req(&auth, KRB_SERVICE_NAME,
|
||||||
instance, addr.sin_addr.s_addr, &adat, "");
|
instance, addr.sin_addr.s_addr, &adat, "");
|
||||||
if (r) {
|
if (r) {
|
||||||
@@ -637,13 +645,13 @@ unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred)
|
|||||||
u_int32_t tmp;
|
u_int32_t tmp;
|
||||||
|
|
||||||
strncpy (cred->service, p, ANAME_SZ);
|
strncpy (cred->service, p, ANAME_SZ);
|
||||||
cred->service[ANAME_SZ] = '\0';
|
cred->service[ANAME_SZ - 1] = '\0';
|
||||||
p += ANAME_SZ;
|
p += ANAME_SZ;
|
||||||
strncpy (cred->instance, p, INST_SZ);
|
strncpy (cred->instance, p, INST_SZ);
|
||||||
cred->instance[INST_SZ] = '\0';
|
cred->instance[INST_SZ - 1] = '\0';
|
||||||
p += INST_SZ;
|
p += INST_SZ;
|
||||||
strncpy (cred->realm, p, REALM_SZ);
|
strncpy (cred->realm, p, REALM_SZ);
|
||||||
cred->realm[REALM_SZ] = '\0';
|
cred->realm[REALM_SZ - 1] = '\0';
|
||||||
p += REALM_SZ;
|
p += REALM_SZ;
|
||||||
|
|
||||||
memcpy(cred->session, p, 8);
|
memcpy(cred->session, p, 8);
|
||||||
@@ -661,11 +669,11 @@ unpack_cred(unsigned char *buf, int len, CREDENTIALS *cred)
|
|||||||
p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0);
|
p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0);
|
||||||
|
|
||||||
strncpy (cred->pname, p, ANAME_SZ);
|
strncpy (cred->pname, p, ANAME_SZ);
|
||||||
cred->pname[ANAME_SZ] = '\0';
|
cred->pname[ANAME_SZ - 1] = '\0';
|
||||||
p += ANAME_SZ;
|
|
||||||
strncpy (cred->pinst, p, ANAME_SZ);
|
|
||||||
cred->pinst[ANAME_SZ] = '\0';
|
|
||||||
p += ANAME_SZ;
|
p += ANAME_SZ;
|
||||||
|
strncpy (cred->pinst, p, INST_SZ);
|
||||||
|
cred->pinst[INST_SZ - 1] = '\0';
|
||||||
|
p += INST_SZ;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user