From: Stefan Metzmacher Date: Wed, 19 Jul 2023 19:02:23 +0000 (+0200) Subject: libcli/auth: let netlogon_creds_copy() copy all scalar elements X-Git-Tag: ldb-2.9.2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21e9355630016bac79c4260bdaa371e5142c814f;p=thirdparty%2Fsamba.git libcli/auth: let netlogon_creds_copy() copy all scalar elements This version is good for now, as we want it to be backportable. For master we'll add a ndr_deepcopy_struct() helper in order to avoid future problems. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15425 Signed-off-by: Stefan Metzmacher Reviewed-by: Douglas Bagnall (cherry picked from commit 8edbdd65ef78e3f26357d0254b58db3120a32880) --- diff --git a/libcli/auth/credentials.c b/libcli/auth/credentials.c index 2d2da080efe..12f4b1fbb8c 100644 --- a/libcli/auth/credentials.c +++ b/libcli/auth/credentials.c @@ -1407,9 +1407,7 @@ struct netlogon_creds_CredentialState *netlogon_creds_copy( return NULL; } - creds->sequence = creds_in->sequence; - creds->negotiate_flags = creds_in->negotiate_flags; - creds->secure_channel_type = creds_in->secure_channel_type; + *creds = *creds_in; creds->computer_name = talloc_strdup(creds, creds_in->computer_name); if (!creds->computer_name) { @@ -1432,10 +1430,5 @@ struct netlogon_creds_CredentialState *netlogon_creds_copy( *creds->ex = *creds_in->ex; } - memcpy(creds->session_key, creds_in->session_key, sizeof(creds->session_key)); - memcpy(creds->seed.data, creds_in->seed.data, sizeof(creds->seed.data)); - memcpy(creds->client.data, creds_in->client.data, sizeof(creds->client.data)); - memcpy(creds->server.data, creds_in->server.data, sizeof(creds->server.data)); - return creds; }