summaryrefslogtreecommitdiffstats
path: root/sys/netsmb/smb_iod.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2006-08-22 03:05:51 +0000
committermarcel <marcel@FreeBSD.org>2006-08-22 03:05:51 +0000
commit6723c51456f91f4ff5b61a01bcdf421bfa465a61 (patch)
treef59a8d47cd3eea7ae8f95993d421a9c9abb63d64 /sys/netsmb/smb_iod.c
parentf39fbdd70545e5a375029d7c59616b06ef675023 (diff)
downloadFreeBSD-src-6723c51456f91f4ff5b61a01bcdf421bfa465a61.zip
FreeBSD-src-6723c51456f91f4ff5b61a01bcdf421bfa465a61.tar.gz
Fix misalignment bugs caused by invalid type casts of pointers
returned by md_reserve(). Space reserved by mb_reserve() is byte aligned and need to be used in conjunction with le16enc() and le32enc(). Tested on: ia64
Diffstat (limited to 'sys/netsmb/smb_iod.c')
-rw-r--r--sys/netsmb/smb_iod.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netsmb/smb_iod.c b/sys/netsmb/smb_iod.c
index 26bbe75..8a687c2 100644
--- a/sys/netsmb/smb_iod.c
+++ b/sys/netsmb/smb_iod.c
@@ -244,8 +244,8 @@ smb_iod_sendrq(struct smbiod *iod, struct smb_rq *rqp)
if (vcp->vc_maxmux != 0 && iod->iod_muxcnt >= vcp->vc_maxmux)
return 0;
#endif
- *rqp->sr_rqtid = htole16(ssp ? ssp->ss_tid : SMB_TID_UNKNOWN);
- *rqp->sr_rquid = htole16(vcp ? vcp->vc_smbuid : 0);
+ le16enc(rqp->sr_rqtid, ssp ? ssp->ss_tid : SMB_TID_UNKNOWN);
+ le16enc(rqp->sr_rquid, vcp ? vcp->vc_smbuid : 0);
mb_fixhdr(&rqp->sr_rq);
if (vcp->vc_hflags2 & SMB_FLAGS2_SECURITY_SIGNATURE)
smb_rq_sign(rqp);
OpenPOWER on IntegriCloud