From afd8fb8bc37690f06f091b3c8037eec11b0746c0 Mon Sep 17 00:00:00 2001 From: jpaetzel Date: Thu, 15 Jun 2017 23:14:04 +0000 Subject: [PATCH] MFC 319670 Fix SMBFS when saved passwords are greater than 18 characters PR: 132302 Submitted by: dhorn2000@gmail.com guru@unixarea.de git-svn-id: svn://svn.freebsd.org/base/stable/10@319992 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- contrib/smbfs/lib/smb/subr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/smbfs/lib/smb/subr.c b/contrib/smbfs/lib/smb/subr.c index cd65315e5..5c3e7957b 100644 --- a/contrib/smbfs/lib/smb/subr.c +++ b/contrib/smbfs/lib/smb/subr.c @@ -232,6 +232,8 @@ smb_simplecrypt(char *dst, const char *src) islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch); ch ^= pos; pos += 13; + if (pos > 256) + pos -= 256; sprintf(dst, "%02x", ch); dst += 2; } @@ -262,6 +264,8 @@ smb_simpledecrypt(char *dst, const char *src) return EINVAL; ch ^= pos; pos += 13; + if (pos > 256) + pos -= 256; if (isascii(ch)) ch = (isupper(ch) ? ('A' + (ch - 'A' + 13) % 26) : islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch); -- 2.45.0