diff options
author | Michael Adam <obnox@samba.org> | 2008-08-01 17:10:59 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-08-01 17:10:59 +0200 |
commit | 84ee630ee973189ca9f2ce2afe4987998aaeccc7 (patch) | |
tree | 2e199026f65048899bec2a542cec446e8ee0e927 /source3/libnet/libnet_dssync_keytab.c | |
parent | 4c6e9662b8360692f8ee8c36287ec8aa0b9d831a (diff) | |
download | samba-84ee630ee973189ca9f2ce2afe4987998aaeccc7.tar.gz samba-84ee630ee973189ca9f2ce2afe4987998aaeccc7.tar.bz2 samba-84ee630ee973189ca9f2ce2afe4987998aaeccc7.zip |
libnet dssync: fix memory allocation for error/result messages.
Use the libnet_dssync_context as a talloc context for the
result_message and error_message string members.
Using the passed in mem_ctx makes the implicit assumption
that mem_ctx is at least as long-lived as the libnet_dssync_context,
which is wrong.
Michael
(This used to be commit 635baf6b7d2a1822ceb48aa4bc47569ef19d51cc)
Diffstat (limited to 'source3/libnet/libnet_dssync_keytab.c')
-rw-r--r-- | source3/libnet/libnet_dssync_keytab.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/libnet/libnet_dssync_keytab.c b/source3/libnet/libnet_dssync_keytab.c index 71fc7147df..6ba2c3aa41 100644 --- a/source3/libnet/libnet_dssync_keytab.c +++ b/source3/libnet/libnet_dssync_keytab.c @@ -90,7 +90,7 @@ static NTSTATUS keytab_startup(struct dssync_context *ctx, TALLOC_CTX *mem_ctx, (ndr_pull_flags_fn_t)ndr_pull_replUpToDateVectorBlob); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NTSTATUS status = ndr_map_error2ntstatus(ndr_err); - ctx->error_message = talloc_asprintf(mem_ctx, + ctx->error_message = talloc_asprintf(ctx, "Failed to pull UpToDateVector: %s", nt_errstr(status)); return status; @@ -128,7 +128,7 @@ static NTSTATUS keytab_finish(struct dssync_context *ctx, TALLOC_CTX *mem_ctx, (ndr_push_flags_fn_t)ndr_push_replUpToDateVectorBlob); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { status = ndr_map_error2ntstatus(ndr_err); - ctx->error_message = talloc_asprintf(mem_ctx, + ctx->error_message = talloc_asprintf(ctx, "Failed to push UpToDateVector: %s", nt_errstr(status)); goto done; @@ -146,13 +146,13 @@ static NTSTATUS keytab_finish(struct dssync_context *ctx, TALLOC_CTX *mem_ctx, ret = libnet_keytab_add(keytab_ctx); if (ret) { status = krb5_to_nt_status(ret); - ctx->error_message = talloc_asprintf(mem_ctx, + ctx->error_message = talloc_asprintf(ctx, "Failed to add entries to keytab %s: %s", keytab_ctx->keytab_name, error_message(ret)); goto done; } - ctx->result_message = talloc_asprintf(mem_ctx, + ctx->result_message = talloc_asprintf(ctx, "Vampired %d accounts to keytab %s", keytab_ctx->count, keytab_ctx->keytab_name); |