summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_dual.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2013-02-18 16:36:22 +0100
committerDavid Disseldorp <ddiss@suse.de>2013-03-05 23:29:11 +0100
commit14bae61ba36814ea5eca7c51cf1cc039e9e6803f (patch)
tree4605410a706e9b93b0dd47c47e143c0f007e327a /source3/winbindd/winbindd_dual.c
parente8e3a68729074c9dafb9a41df0ffa3a49c260772 (diff)
downloadsamba-14bae61ba36814ea5eca7c51cf1cc039e9e6803f.tar.gz
samba-14bae61ba36814ea5eca7c51cf1cc039e9e6803f.tar.bz2
samba-14bae61ba36814ea5eca7c51cf1cc039e9e6803f.zip
winbind: Use talloc for allocating domain, dns, forest and dc name.
Reviewed-by: David Disseldorp <ddiss@samba.org>
Diffstat (limited to 'source3/winbindd/winbindd_dual.c')
-rw-r--r--source3/winbindd/winbindd_dual.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index 8ba82d7e06..c752ffeaac 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -369,8 +369,23 @@ static void wb_domain_request_initialized(struct tevent_req *subreq)
tevent_req_error(req, EINVAL);
return;
}
- fstrcpy(state->domain->name, response->data.domain_info.name);
- fstrcpy(state->domain->alt_name, response->data.domain_info.alt_name);
+
+ talloc_free(state->domain->name);
+ state->domain->name = talloc_strdup(state->domain,
+ response->data.domain_info.name);
+ if (state->domain->name == NULL) {
+ tevent_req_error(req, ENOMEM);
+ return;
+ }
+
+ talloc_free(state->domain->alt_name);
+ state->domain->alt_name = talloc_strdup(state->domain,
+ response->data.domain_info.alt_name);
+ if (state->domain->alt_name == NULL) {
+ tevent_req_error(req, ENOMEM);
+ return;
+ }
+
state->domain->native_mode = response->data.domain_info.native_mode;
state->domain->active_directory =
response->data.domain_info.active_directory;