summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/data_blob.c11
-rw-r--r--source4/libcli/auth/gensec_krb5.c2
-rw-r--r--source4/librpc/idl/krb5pac.idl2
3 files changed, 9 insertions, 6 deletions
diff --git a/source4/lib/data_blob.c b/source4/lib/data_blob.c
index d2147be6b2..c5f15f1271 100644
--- a/source4/lib/data_blob.c
+++ b/source4/lib/data_blob.c
@@ -63,13 +63,18 @@ DATA_BLOB data_blob_talloc_named(TALLOC_CTX *mem_ctx, const void *p, size_t leng
/*******************************************************************
- construct a data blob which is a reference to another blob, in
-the given mem context
+ reference a data blob, to the supplied TALLOC_CTX.
+ Returns a NULL DATA_BLOB on failure
*******************************************************************/
DATA_BLOB data_blob_talloc_reference(TALLOC_CTX *mem_ctx, DATA_BLOB *blob)
{
DATA_BLOB ret = *blob;
- ret.data = talloc_reference(mem_ctx, ret.data);
+
+ ret.data = talloc_reference(mem_ctx, blob->data);
+
+ if (!ret.data) {
+ return data_blob(NULL, 0);
+ }
return ret;
}
diff --git a/source4/libcli/auth/gensec_krb5.c b/source4/libcli/auth/gensec_krb5.c
index a95780236e..37e96cf9dc 100644
--- a/source4/libcli/auth/gensec_krb5.c
+++ b/source4/libcli/auth/gensec_krb5.c
@@ -668,9 +668,7 @@ static NTSTATUS gensec_krb5_session_info(struct gensec_security *gensec_security
server_info->logon_count = logon_info->logon_count;
/* TODO: bad password count */
-#if ABARTLET_HAS_FIXED_BUILD
server_info->acct_flags = logon_info->acct_flags;
-#endif
if (!server_info->domain || !server_info->account_name || !server_info->realm) {
free_server_info(&server_info);
diff --git a/source4/librpc/idl/krb5pac.idl b/source4/librpc/idl/krb5pac.idl
index 4e3fee4b51..d3a28df27b 100644
--- a/source4/librpc/idl/krb5pac.idl
+++ b/source4/librpc/idl/krb5pac.idl
@@ -75,7 +75,7 @@ interface krb5pac
dom_sid2 *dom_sid;
uint32 reserved16[2];
- uint32 reserved17; /* looks like it may be acb_info */
+ uint32 acct_flags; /* looks like it may be acb_info */
uint32 reserved18[7];
uint32 extra_sids_count;