r25273: unistrX_to_ascii calls pull_ucs2 - ensure it's never
authorJeremy Allison <jra@samba.org>
Fri, 21 Sep 2007 09:58:36 +0000 (09:58 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:30:56 +0000 (12:30 -0500)
called with -1 (these calls were wrong anyway, target
was an fstring, not a pstring). Found by  Michael Adam <ma@sernet.de>,
now to check all other uses.
Michael - this version uses sizeof(target) not sizeof(fstring).
This way is more future proof.
Jeremy.

source/winbindd/winbindd_pam.c

index c4db691d052ea1b3f98fb809d05e3c85395f50cd..8f78209586feab8cd9d5a37a10b81bc3709bba93 100644 (file)
@@ -61,22 +61,22 @@ static NTSTATUS append_info3_as_txt(TALLOC_CTX *mem_ctx,
        state->response.data.auth.info3.num_other_sids = info3->num_other_sids;
 
        unistr2_to_ascii(state->response.data.auth.info3.user_name, 
-               &info3->uni_user_name, sizeof(fstring));
+               &info3->uni_user_name, sizeof(state->response.data.auth.info3.user_name));
        unistr2_to_ascii(state->response.data.auth.info3.full_name, 
-               &info3->uni_full_name, sizeof(fstring));
+               &info3->uni_full_name, sizeof(state->response.data.auth.info3.full_name));
        unistr2_to_ascii(state->response.data.auth.info3.logon_script, 
-               &info3->uni_logon_script, sizeof(fstring));
+               &info3->uni_logon_script, sizeof(state->response.data.auth.info3.logon_script));
        unistr2_to_ascii(state->response.data.auth.info3.profile_path, 
-               &info3->uni_profile_path, sizeof(fstring));
+               &info3->uni_profile_path, sizeof(state->response.data.auth.info3.profile_path));
        unistr2_to_ascii(state->response.data.auth.info3.home_dir, 
-               &info3->uni_home_dir, sizeof(fstring));
+               &info3->uni_home_dir, sizeof(state->response.data.auth.info3.home_dir));
        unistr2_to_ascii(state->response.data.auth.info3.dir_drive, 
-               &info3->uni_dir_drive, sizeof(fstring));
+               &info3->uni_dir_drive, sizeof(state->response.data.auth.info3.dir_drive));
 
        unistr2_to_ascii(state->response.data.auth.info3.logon_srv, 
-               &info3->uni_logon_srv, sizeof(fstring));
+               &info3->uni_logon_srv, sizeof(state->response.data.auth.info3.logon_srv));
        unistr2_to_ascii(state->response.data.auth.info3.logon_dom, 
-               &info3->uni_logon_dom, sizeof(fstring));
+               &info3->uni_logon_dom, sizeof(state->response.data.auth.info3.logon_dom));
 
        return NT_STATUS_OK;
 }