DF-0716 / fix.diff
diff --git a/sys/netproto/smb/smb_subr.c b/sys/netproto/smb/smb_subr.c --- a/sys/netproto/smb/smb_subr.c +++ b/sys/netproto/smb/smb_subr.c @@ -125,8 +125,11 @@ if (bt == 0) break; } - p = kmalloc(len, M_SMBSTR, M_WAITOK); - copyin(s, p, len); + p = kmalloc(len, M_SMBSTR, M_WAITOK | M_ZERO); + if (copyin(s, p, len) != 0) { + kfree(p, M_SMBSTR); + return NULL; + } return p; } |