Author: jra
Date: 2007-09-21 09:58:36 +0000 (Fri, 21 Sep 2007)
New Revision: 25273

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25273

Log:
unistrX_to_ascii calls pull_ucs2 - ensure it's never
called with -1 (these calls were wrong anyway, target
was an fstring, not a pstring). Found by  Michael Adam <[EMAIL PROTECTED]>,
now to check all other uses.
Michael - this version uses sizeof(target) not sizeof(fstring).
This way is more future proof.
Jeremy.

Modified:
   branches/SAMBA_3_2/source/winbindd/winbindd_pam.c
   branches/SAMBA_3_2_0/source/winbindd/winbindd_pam.c


Changeset:
Modified: branches/SAMBA_3_2/source/winbindd/winbindd_pam.c
===================================================================
--- branches/SAMBA_3_2/source/winbindd/winbindd_pam.c   2007-09-21 09:52:28 UTC 
(rev 25272)
+++ branches/SAMBA_3_2/source/winbindd/winbindd_pam.c   2007-09-21 09:58:36 UTC 
(rev 25273)
@@ -61,22 +61,22 @@
        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;
 }

Modified: branches/SAMBA_3_2_0/source/winbindd/winbindd_pam.c
===================================================================
--- branches/SAMBA_3_2_0/source/winbindd/winbindd_pam.c 2007-09-21 09:52:28 UTC 
(rev 25272)
+++ branches/SAMBA_3_2_0/source/winbindd/winbindd_pam.c 2007-09-21 09:58:36 UTC 
(rev 25273)
@@ -61,22 +61,22 @@
        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;
 }

Reply via email to