mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
s4:kdc: Avoid copying data if not needed
krb5_pac_add_buffer() makes its own copy of the data we pass in. We don't need to make yet another copy. Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
47ef49fd91
commit
fa901e7346
@ -2042,12 +2042,9 @@ krb5_error_code samba_kdc_update_pac(TALLOC_CTX *mem_ctx,
|
||||
}
|
||||
|
||||
if (type_blob.length != 0) {
|
||||
code = smb_krb5_copy_data_contents(&type_data,
|
||||
type_blob.data,
|
||||
type_blob.length);
|
||||
if (code != 0) {
|
||||
goto done;
|
||||
}
|
||||
type_data = smb_krb5_data_from_blob(type_blob);
|
||||
code = krb5_pac_add_buffer(context, new_pac,
|
||||
type, &type_data);
|
||||
} else {
|
||||
code = krb5_pac_get_buffer(context,
|
||||
old_pac,
|
||||
@ -2056,17 +2053,17 @@ krb5_error_code samba_kdc_update_pac(TALLOC_CTX *mem_ctx,
|
||||
if (code != 0) {
|
||||
goto done;
|
||||
}
|
||||
/*
|
||||
* Passing a NULL pointer into krb5_pac_add_buffer() is
|
||||
* not allowed, so pass null_data instead if needed.
|
||||
*/
|
||||
code = krb5_pac_add_buffer(context,
|
||||
new_pac,
|
||||
type,
|
||||
(type_data.data != NULL) ? &type_data : &null_data);
|
||||
smb_krb5_free_data_contents(context, &type_data);
|
||||
}
|
||||
|
||||
/*
|
||||
* Passing a NULL pointer into krb5_pac_add_buffer() is
|
||||
* not allowed, so pass null_data instead if needed.
|
||||
*/
|
||||
code = krb5_pac_add_buffer(context,
|
||||
new_pac,
|
||||
type,
|
||||
(type_data.data != NULL) ? &type_data : &null_data);
|
||||
smb_krb5_free_data_contents(context, &type_data);
|
||||
if (code != 0) {
|
||||
goto done;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user