summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/krb/gic_pwd.c11
1 files changed, 4 insertions, 7 deletions
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,