diff options
| author | Greg Hudson <ghudson@mit.edu> | 2008-10-24 20:07:00 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2008-10-24 20:07:00 +0000 |
| commit | fcf15c482b582c4f2e5dd7c6222c4e3509bbb7d6 (patch) | |
| tree | 9ce89cc387b4bee641f0f25e818371b90731fdb6 /src/kdc | |
| parent | 4d901a092a69a69be251131174166fc661d13633 (diff) | |
Use strlcpy instead of strcpy in many places
ticket: 6200
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20919 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc')
| -rw-r--r-- | src/kdc/fakeka.c | 21 | ||||
| -rw-r--r-- | src/kdc/kdc_authdata.c | 2 | ||||
| -rw-r--r-- | src/kdc/kerberos_v4.c | 2 | ||||
| -rw-r--r-- | src/kdc/network.c | 12 |
4 files changed, 19 insertions, 18 deletions
diff --git a/src/kdc/fakeka.c b/src/kdc/fakeka.c index 21344596e..f861d48ed 100644 --- a/src/kdc/fakeka.c +++ b/src/kdc/fakeka.c @@ -51,6 +51,7 @@ #include <com_err.h> #include <kerberosIV/krb.h> #include <kerberosIV/des.h> +#include <k5-platform.h> #ifndef LINT static char rcsid[]= @@ -778,14 +779,14 @@ packet_t req, reply; * Initialize these so we don't crash trying to print them in * case they don't get filled in. */ - strcpy(rname, "Unknown"); - strcpy(rinst, "Unknown"); - strcpy(sname, "Unknown"); - strcpy(sinst, "Unknown"); - strcpy(cname, "Unknown"); - strcpy(cinst, "Unknown"); - strcpy(cell, "Unknown"); - strcpy(realm, "Unknown"); + strlcpy(rname, "Unknown", sizeof(rname)); + strlcpy(rinst, "Unknown", sizeof(rinst)); + strlcpy(sname, "Unknown", sizeof(sname)); + strlcpy(sinst, "Unknown", sizeof(sinst)); + strlcpy(cname, "Unknown", sizeof(cname)); + strlcpy(cinst, "Unknown", sizeof(cinst)); + strlcpy(cell, "Unknown", sizeof(cell)); + strlcpy(realm, "Unknown", sizeof(realm)); p = req->base; maxn = req->len; @@ -797,7 +798,7 @@ packet_t req, reply; GET_PSTR(cell); if (!cell[0]) - strcpy(cell, localcell); + strlcpy(cell, localcell, sizeof(cell)); if (debug) fprintf(stderr, "Cell is %s\n", cell); @@ -963,7 +964,7 @@ packet_t req, reply; (strcasecmp(cell, localcell) == 0)) { char *c; - strcpy(rinst, localcell); + strlcpy(rinst, localcell, sizeof(rinst)); for (c = rinst; *c != NULL; c++) *c = (char) tolower( (int) *c); diff --git a/src/kdc/kdc_authdata.c b/src/kdc/kdc_authdata.c index a1acdfd1a..a8f9241ea 100644 --- a/src/kdc/kdc_authdata.c +++ b/src/kdc/kdc_authdata.c @@ -101,7 +101,7 @@ greet_authdata(krb5_context ctx, krb5_db_entry *client, free(a); return ENOMEM; } - strcpy(p, "hello"); + strlcpy(p, "hello", GREET_SIZE); a->magic = KV5M_AUTHDATA; a->ad_type = -42; a->length = GREET_SIZE; diff --git a/src/kdc/kerberos_v4.c b/src/kdc/kerberos_v4.c index b2bfa4b54..8ac015b7f 100644 --- a/src/kdc/kerberos_v4.c +++ b/src/kdc/kerberos_v4.c @@ -288,7 +288,7 @@ static char * v4_klog( int type, const char *format, ...) case L_NTGT_INTK: case L_TKT_REQ: case L_APPL_REQ: - strcpy(log_text, "PROCESS_V4:"); + strlcpy(log_text, "PROCESS_V4:", sizeof(log_text)); vsnprintf(log_text+strlen(log_text), sizeof(log_text) - strlen(log_text), format, pvar); diff --git a/src/kdc/network.c b/src/kdc/network.c index 3bad9650c..615049964 100644 --- a/src/kdc/network.c +++ b/src/kdc/network.c @@ -160,7 +160,7 @@ static const char *paddr (struct sockaddr *sa) if (getnameinfo(sa, socklen(sa), buf, sizeof(buf), portbuf, sizeof(portbuf), NI_NUMERICHOST|NI_NUMERICSERV)) - strcpy(buf, "<unprintable>"); + strlcpy(buf, "<unprintable>", sizeof(buf)); else { unsigned int len = sizeof(buf) - strlen(buf); char *p = buf + strlen(buf); @@ -695,7 +695,7 @@ setup_udp_port(void *P_data, struct sockaddr *addr) err = getnameinfo(addr, socklen(addr), haddrbuf, sizeof(haddrbuf), 0, 0, NI_NUMERICHOST); if (err) - strcpy(haddrbuf, "<unprintable>"); + strlcpy(haddrbuf, "<unprintable>", sizeof(haddrbuf)); switch (addr->sa_family) { case AF_INET: @@ -1192,7 +1192,7 @@ static void process_packet(struct connection *conn, const char *prog, char addrbuf[100]; if (getnameinfo(ss2sa(&daddr), daddr_len, addrbuf, sizeof(addrbuf), 0, 0, NI_NUMERICHOST)) - strcpy(addrbuf, "?"); + strlcpy(addrbuf, "?", sizeof(addrbuf)); com_err(prog, 0, "pktinfo says local addr is %s", addrbuf); } #endif @@ -1216,7 +1216,7 @@ static void process_packet(struct connection *conn, const char *prog, krb5_free_data(kdc_context, response); if (inet_ntop(((struct sockaddr *)&saddr)->sa_family, addr.contents, addrbuf, sizeof(addrbuf)) == 0) { - strcpy(addrbuf, "?"); + strlcpy(addrbuf, "?", sizeof(addrbuf)); } com_err(prog, errno, "while sending reply to %s/%d", addrbuf, faddr.port); @@ -1269,7 +1269,7 @@ static void accept_tcp_connection(struct connection *conn, const char *prog, newconn->u.tcp.addrbuf, sizeof(newconn->u.tcp.addrbuf), tmpbuf, sizeof(tmpbuf), NI_NUMERICHOST | NI_NUMERICSERV)) - strcpy(newconn->u.tcp.addrbuf, "???"); + strlcpy(newconn->u.tcp.addrbuf, "???", sizeof(newconn->u.tcp.addrbuf)); else { char *p, *end; p = newconn->u.tcp.addrbuf; @@ -1277,7 +1277,7 @@ static void accept_tcp_connection(struct connection *conn, const char *prog, p += strlen(p); if (end - p > 2 + strlen(tmpbuf)) { *p++ = '.'; - strcpy(p, tmpbuf); + strlcpy(p, tmpbuf, end - p); } } #if 0 |
