From 4d5623aac7649523863c8da54b64af8a2df975e3 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 7 Feb 2000 03:19:43 +0000 Subject: [PATCH] use memcpy and strlcpy git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7881 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/principal.c | 13 +++++++------ lib/krb5/transited.c | 8 ++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index 63c18068f..0227da5b1 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -119,7 +119,7 @@ krb5_parse_name(krb5_context context, ret = ENOMEM; goto exit; } - strncpy(comp[n], start, q - start); + memcpy(comp[n], start, q - start); comp[n][q - start] = 0; n++; } @@ -140,7 +140,7 @@ krb5_parse_name(krb5_context context, ret = ENOMEM; goto exit; } - strncpy(realm, start, q - start); + memcpy(realm, start, q - start); realm[q - start] = 0; }else{ ret = krb5_get_default_realm (context, &realm); @@ -152,7 +152,7 @@ krb5_parse_name(krb5_context context, ret = ENOMEM; goto exit; } - strncpy(comp[n], start, q - start); + memcpy(comp[n], start, q - start); comp[n][q - start] = 0; n++; } @@ -838,10 +838,11 @@ krb5_524_conv_principal(krb5_context context, if(type == KRB5_NT_SRV_HST){ char *p; - strncpy(tmpinst, i, sizeof(tmpinst)); - tmpinst[sizeof(tmpinst) - 1] = 0; + + strlcpy (tmpinst, i, sizeof(tmpinst)); p = strchr(tmpinst, '.'); - if(p) *p = 0; + if(p) + *p = 0; i = tmpinst; } diff --git a/lib/krb5/transited.c b/lib/krb5/transited.c index 5092b5a90..c1bdb6084 100644 --- a/lib/krb5/transited.c +++ b/lib/krb5/transited.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1999 Kungliga Tekniska Högskolan + * Copyright (c) 1997 - 2000 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -108,7 +108,7 @@ make_path(struct tr_realm *r, const char *from, const char *to) r->next = path; /* XXX */ return ENOMEM; } - strncpy(path->realm, from, p - from); + memcpy(path->realm, from, p - from); path->realm[p - from] = '\0'; p--; } @@ -256,7 +256,7 @@ decode_realms(const char *tr, int length, struct tr_realm **realms) } if(tr[i] == ','){ tmp = malloc(tr + i - start + 1); - strncpy(tmp, start, tr + i - start); + memcpy(tmp, start, tr + i - start); tmp[tr + i - start] = '\0'; r = make_realm(tmp); if(r == NULL){ @@ -268,7 +268,7 @@ decode_realms(const char *tr, int length, struct tr_realm **realms) } } tmp = malloc(tr + i - start + 1); - strncpy(tmp, start, tr + i - start); + memcpy(tmp, start, tr + i - start); tmp[tr + i - start] = '\0'; r = make_realm(tmp); if(r == NULL){