DragonFlyBSD Kernel Audit
DF-0641 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netproto/smb/smb_smb.c b/sys/netproto/smb/smb_smb.c
--- a/sys/netproto/smb/smb_smb.c
+++ b/sys/netproto/smb/smb_smb.c
@@ -265,7 +265,7 @@
 		} else {
 			plen = strlen(pbuf) + 1;
 			pp = pbuf;
-			uniplen = plen * 2;
+			uniplen = (strlen(smb_vc_getpass(vcp)) + 1) * 2;
 			ntencpass = kmalloc(uniplen, M_SMBTEMP, M_WAITOK);
 			smb_strtouni(ntencpass, smb_vc_getpass(vcp));
 			plen--;