diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/appl/sample/sclient/sclient.c | 9 | ||||
| -rw-r--r-- | src/plugins/authdata/greet/greet_auth.c | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/appl/sample/sclient/sclient.c b/src/appl/sample/sclient/sclient.c index 6ad305a88..bd9c4e889 100644 --- a/src/appl/sample/sclient/sclient.c +++ b/src/appl/sample/sclient/sclient.c @@ -159,11 +159,16 @@ main(int argc, char *argv[]) if (getnameinfo(ap->ai_addr, ap->ai_addrlen, abuf, sizeof(abuf), pbuf, sizeof(pbuf), NI_NUMERICHOST | NI_NUMERICSERV)) { memset(abuf, 0, sizeof(abuf)); + memset(pbuf, 0, sizeof(pbuf)); strncpy(abuf, "[error, cannot print address?]", sizeof(abuf)-1); - strcpy(pbuf, "[?]"); + strncpy(pbuf, "[?]", sizeof(pbuf)-1); } - sprintf(mbuf, "error contacting %s port %s", abuf, pbuf); + memset(mbuf, 0, sizeof(mbuf)); + strncpy(mbuf, "error contacting ", sizeof(mbuf)-1); + strncat(mbuf, abuf, sizeof(mbuf) - strlen(mbuf) - 1); + strncat(mbuf, " port ", sizeof(mbuf) - strlen(mbuf) - 1); + strncat(mbuf, pbuf, sizeof(mbuf) - strlen(mbuf) - 1); sock = socket(ap->ai_family, SOCK_STREAM, 0); if (sock < 0) { fprintf(stderr, "%s: socket: %s\n", mbuf, strerror(errno)); diff --git a/src/plugins/authdata/greet/greet_auth.c b/src/plugins/authdata/greet/greet_auth.c index a9d359eaa..f7b6dd733 100644 --- a/src/plugins/authdata/greet/greet_auth.c +++ b/src/plugins/authdata/greet/greet_auth.c @@ -65,7 +65,7 @@ greet_authdata(krb5_context ctx, krb5_db_entry *client, free(a); return ENOMEM; } - strcpy(p, "hello there"); + strncpy(p, "hello there", GREET_SIZE-1); a->magic = KV5M_AUTHDATA; a->ad_type = -42; a->length = GREET_SIZE; |
