diff options
author | Sam Hartman <hartmans@mit.edu> | 2003-05-13 17:05:27 +0000 |
---|---|---|
committer | Sam Hartman <hartmans@mit.edu> | 2003-05-13 17:05:27 +0000 |
commit | 605623000c7c1bc01a82d42efbaab140d803bee2 (patch) | |
tree | 0d4095f7c2a19eda5ea740dedcc0cf2a1e7f55ba /src/lib/krb5/krb/copy_data.c | |
parent | 64920742c081f1487c7386a1a03e3b9dca8c487d (diff) | |
download | krb5-605623000c7c1bc01a82d42efbaab140d803bee2.tar.gz krb5-605623000c7c1bc01a82d42efbaab140d803bee2.tar.xz krb5-605623000c7c1bc01a82d42efbaab140d803bee2.zip |
Fix memory leaks and double frees in preauth2.c
Ticket: 1470
Tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15425 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/copy_data.c')
-rw-r--r-- | src/lib/krb5/krb/copy_data.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/copy_data.c b/src/lib/krb5/krb/copy_data.c index 2899c5a88..1be2a2da5 100644 --- a/src/lib/krb5/krb/copy_data.c +++ b/src/lib/krb5/krb/copy_data.c @@ -58,3 +58,25 @@ krb5_copy_data(krb5_context context, const krb5_data *indata, krb5_data **outdat *outdata = tempdata; return 0; } + +krb5_error_code +krb5int_copy_data_contents(krb5_context context, const krb5_data *indata, krb5_data *outdata) +{ + if (!indata) { + return EINVAL; + } + + + outdata->length = indata->length; + if (outdata->length) { + if (!(outdata->data = malloc(outdata->length))) { + krb5_xfree(outdata); + return ENOMEM; + } + memcpy((char *)outdata->data, (char *)indata->data, outdata->length); + } else + outdata->data = 0; + outdata->magic = KV5M_DATA; + + return 0; +} |