diff options
Diffstat (limited to 'source3/libsmb/smbencrypt.c')
-rw-r--r-- | source3/libsmb/smbencrypt.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source3/libsmb/smbencrypt.c b/source3/libsmb/smbencrypt.c index 517ee0f941..38d414cf23 100644 --- a/source3/libsmb/smbencrypt.c +++ b/source3/libsmb/smbencrypt.c @@ -111,14 +111,14 @@ void SMBNTencrypt(uchar *passwd, uchar *c8, uchar *p24) /* Does both the NT and LM owfs of a user's password */ -void nt_lm_owf_gen(char *pwd, char nt_p16[16], char p16[16]) +void nt_lm_owf_gen(char *pwd, char *nt_p16, char *p16) { - char passwd[129]; - strncpy(passwd, pwd, 129); + char passwd[130]; + StrnCpy(passwd, pwd, sizeof(passwd)-1); /* Calculate the MD4 hash (NT compatible) of the password */ memset(nt_p16, '\0', 16); - E_md4hash((uchar *)passwd, nt_p16); + E_md4hash((uchar *)passwd, (uchar *)nt_p16); /* Mangle the passwords into Lanman format */ passwd[14] = '\0'; @@ -127,7 +127,7 @@ void nt_lm_owf_gen(char *pwd, char nt_p16[16], char p16[16]) /* Calculate the SMB (lanman) hash functions of the password */ memset(p16, '\0', 16); - E_P16((uchar *) passwd, p16); + E_P16((uchar *) passwd, (uchar *)p16); /* clear out local copy of user's password (just being paranoid). */ bzero(passwd, sizeof(passwd)); |