summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-03-28 16:43:30 -0400
committerGreg Hudson <ghudson@mit.edu>2013-03-29 01:59:33 -0400
commit61ab05d3b647971f2fc9481e7498176626a13707 (patch)
treeabad3ac95f03d1d571d397206cf849a8c1c00bc0 /src/lib/gssapi/krb5
parentfd557fc3de99f63b37ae78a0f43968c162524baa (diff)
downloadkrb5-61ab05d3b647971f2fc9481e7498176626a13707.tar.gz
krb5-61ab05d3b647971f2fc9481e7498176626a13707.tar.xz
krb5-61ab05d3b647971f2fc9481e7498176626a13707.zip
Using k5-int.h data helpers for some functions
Use empty_data(), alloc_data(), and make_data() in some appropriate places. This has the side effect of initializing the krb5_data magic field, which can placate debugging tools.
Diffstat (limited to 'src/lib/gssapi/krb5')
-rw-r--r--src/lib/gssapi/krb5/k5sealv3.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/lib/gssapi/krb5/k5sealv3.c b/src/lib/gssapi/krb5/k5sealv3.c
index c291e0fb0..e4c2c2f8f 100644
--- a/src/lib/gssapi/krb5/k5sealv3.c
+++ b/src/lib/gssapi/krb5/k5sealv3.c
@@ -126,10 +126,9 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
#else
ec = 0;
#endif
- plain.length = message->length + 16 + ec;
- plain.data = malloc(message->length + 16 + ec);
- if (plain.data == NULL)
- return ENOMEM;
+ err = alloc_data(&plain, message->length + 16 + ec);
+ if (err)
+ return err;
/* Get size of ciphertext. */
bufsize = 16 + krb5_encrypt_size (plain.length, key->keyblock.enctype);
@@ -190,10 +189,9 @@ gss_krb5int_make_seal_token_v3 (krb5_context context,
tok_id = KG2_TOK_WRAP_MSG;
wrap_with_checksum:
- plain.length = message->length + 16;
- plain.data = malloc(message->length + 16);
- if (plain.data == NULL)
- return ENOMEM;
+ err = alloc_data(&plain, message->length + 16);
+ if (err)
+ return err;
err = krb5_c_checksum_length(context, cksumtype, &cksumsize);
if (err)
@@ -442,8 +440,7 @@ gss_krb5int_unseal_token_v3(krb5_context *contextptr,
Rotate the first two. */
store_16_be(0, ptr+4);
store_16_be(0, ptr+6);
- plain.length = bodysize-ec;
- plain.data = (char *)ptr;
+ plain = make_data(ptr, bodysize - ec);
if (!gss_krb5int_rotate_left(ptr, bodysize-ec, 16))
goto no_mem;
sum.length = ec;