From: Greg Hudson Date: Mon, 23 Feb 2009 18:28:48 +0000 (+0000) Subject: Kill an odd (but harmless) use of strncpy in X-Git-Tag: krb5-1.8-alpha1~618 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2a9338e7c91af8337b91fc870e4bfbd98923c170;p=krb5.git Kill an odd (but harmless) use of strncpy in krb5_get_in_tkt_with_password, by using the construction from krb5_get_init_creds_password. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22045 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/lib/krb5/krb/gic_pwd.c b/src/lib/krb5/krb/gic_pwd.c index 5b3469ea1..ef2b7f096 100644 --- a/src/lib/krb5/krb/gic_pwd.c +++ b/src/lib/krb5/krb/gic_pwd.c @@ -483,16 +483,13 @@ krb5_get_in_tkt_with_password(krb5_context context, krb5_flags options, int use_master = 0; krb5_gic_opt_ext *opte = NULL; - pw0array[0] = '\0'; pw0.data = pw0array; - if (password) { - pw0.length = strlen(password); - if (pw0.length > sizeof(pw0array)) + if (password && password[0]) { + if (strlcpy(pw0.data, password, sizeof(pw0array)) >= sizeof(pw0array)) return EINVAL; - strncpy(pw0.data, password, sizeof(pw0array)); - if (pw0.length == 0) - pw0.length = sizeof(pw0array); + pw0.length = strlen(password); } else { + pw0.data[0] = '\0'; pw0.length = sizeof(pw0array); } retval = krb5int_populate_gic_opt(context, &opte,