summaryrefslogtreecommitdiffstats
path: root/contrib/smbfs
diff options
context:
space:
mode:
authorjpaetzel <jpaetzel@FreeBSD.org>2017-06-15 23:14:04 +0000
committerjpaetzel <jpaetzel@FreeBSD.org>2017-06-15 23:14:04 +0000
commit9c0e0f4f06cb3bacce42b66f8a8c1c6b362ab9c7 (patch)
tree4696b8a01033dacda05046d452d31c4109be1422 /contrib/smbfs
parent922115b531f587da21bbfed6b12322e15115f5c8 (diff)
downloadFreeBSD-src-9c0e0f4f06cb3bacce42b66f8a8c1c6b362ab9c7.zip
FreeBSD-src-9c0e0f4f06cb3bacce42b66f8a8c1c6b362ab9c7.tar.gz
MFC 319670
Fix SMBFS when saved passwords are greater than 18 characters PR: 132302 Submitted by: dhorn2000@gmail.com guru@unixarea.de
Diffstat (limited to 'contrib/smbfs')
-rw-r--r--contrib/smbfs/lib/smb/subr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/smbfs/lib/smb/subr.c b/contrib/smbfs/lib/smb/subr.c
index cd65315..5c3e795 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);
OpenPOWER on IntegriCloud