From 16ec110b0f1fe45b598a04e171397d97c3cb5aef Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 15 Mar 2003 06:45:19 +0000 Subject: client-side smbpasswd fixes - use pstrcpy_base to avoid clobber_region bugs Andrew Bartlett (This used to be commit 7ab6559369b4e6ee3c5269d8cff04e5a39f6b493) --- source3/libsmb/clirap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source3') diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c index b38e7d5c23..224c37046c 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -281,7 +281,7 @@ Send a SamOEMChangePassword command BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char *new_password, const char *old_password) { - char param[16+sizeof(fstring)]; + pstring param; char data[532]; char *p = param; unsigned char old_pw_hash[16]; @@ -300,11 +300,11 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char SSVAL(p,0,214); /* SamOEMChangePassword command. */ p += 2; - pstrcpy(p, "zsT"); + pstrcpy_base(p, "zsT", param); p = skip_string(p,1); - pstrcpy(p, "B516B16"); + pstrcpy_base(p, "B516B16", param); p = skip_string(p,1); - pstrcpy(p,user); + pstrcpy_base(p,user, param); p = skip_string(p,1); SSVAL(p,0,532); p += 2; @@ -317,7 +317,7 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char */ E_deshash(old_password, old_pw_hash); - clistr_push(cli, dos_new_password, new_password, -1, STR_TERMINATE|STR_ASCII); + clistr_push(cli, dos_new_password, new_password, sizeof(dos_new_password), STR_TERMINATE|STR_ASCII); if (!make_oem_passwd_hash( data, dos_new_password, old_pw_hash, False)) return False; @@ -685,7 +685,7 @@ NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstrin int count=8; char *p; BOOL ret; - int len; + unsigned int len; p = param; memset(p, 0, 6); -- cgit