diff options
Diffstat (limited to 'lib/krb5/salt-des3.c')
| -rw-r--r-- | lib/krb5/salt-des3.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/krb5/salt-des3.c b/lib/krb5/salt-des3.c index 342bba0d0f6b..8cb73cf465a6 100644 --- a/lib/krb5/salt-des3.c +++ b/lib/krb5/salt-des3.c @@ -61,7 +61,7 @@ DES3_string_to_key(krb5_context context, ret = _krb5_n_fold(str, len, tmp, 24); if (ret) { - memset(str, 0, len); + memset_s(str, len, 0, len); free(str); krb5_set_error_message(context, ret, N_("malloc: out of memory", "")); return ret; @@ -74,24 +74,24 @@ DES3_string_to_key(krb5_context context, _krb5_xor8(*(keys + i), (const unsigned char*)"\0\0\0\0\0\0\0\xf0"); DES_set_key_unchecked(keys + i, &s[i]); } - memset(&ivec, 0, sizeof(ivec)); + memset_s(&ivec, sizeof(ivec), 0, sizeof(ivec)); DES_ede3_cbc_encrypt(tmp, tmp, sizeof(tmp), &s[0], &s[1], &s[2], &ivec, DES_ENCRYPT); - memset(s, 0, sizeof(s)); - memset(&ivec, 0, sizeof(ivec)); + memset_s(s, sizeof(s), 0, sizeof(s)); + memset_s(&ivec, sizeof(ivec), 0, sizeof(ivec)); for(i = 0; i < 3; i++){ memcpy(keys + i, tmp + i * 8, sizeof(keys[i])); DES_set_odd_parity(keys + i); if(DES_is_weak_key(keys + i)) _krb5_xor8(*(keys + i), (const unsigned char*)"\0\0\0\0\0\0\0\xf0"); } - memset(tmp, 0, sizeof(tmp)); + memset_s(tmp, sizeof(tmp), 0, sizeof(tmp)); } key->keytype = enctype; krb5_data_copy(&key->keyvalue, keys, sizeof(keys)); - memset(keys, 0, sizeof(keys)); - memset(str, 0, len); + memset_s(keys, sizeof(keys), 0, sizeof(keys)); + memset_s(str, len, 0, len); free(str); return 0; } @@ -119,7 +119,7 @@ DES3_string_to_key_derived(krb5_context context, len, enctype, key); - memset(s, 0, len); + memset_s(s, len, 0, len); free(s); return ret; } |
