diff options
author | Maksim Yevmenkin <emax@FreeBSD.org> | 2004-02-26 20:44:55 +0000 |
---|---|---|
committer | Maksim Yevmenkin <emax@FreeBSD.org> | 2004-02-26 20:44:55 +0000 |
commit | 0d60ad30ca6d9e71aeaca783266b22ea711979f3 (patch) | |
tree | 7ca01c942fd62cbbffb4181891ee7ede1761b5c5 /usr.sbin/bluetooth/sdpd | |
parent | f97e834b0271a1faffd1c29aff764379ee8a4c5c (diff) | |
download | src-0d60ad30ca6d9e71aeaca783266b22ea711979f3.tar.gz src-0d60ad30ca6d9e71aeaca783266b22ea711979f3.zip |
Add extra sanity check for SDP packets in libsdp(3)
Fix yet another endianess bug in sdpd(8)
Notes
Notes:
svn path=/head/; revision=126297
Diffstat (limited to 'usr.sbin/bluetooth/sdpd')
-rw-r--r-- | usr.sbin/bluetooth/sdpd/sar.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/bluetooth/sdpd/sar.c b/usr.sbin/bluetooth/sdpd/sar.c index 5bf8448619e4..4fc25d92b118 100644 --- a/usr.sbin/bluetooth/sdpd/sar.c +++ b/usr.sbin/bluetooth/sdpd/sar.c @@ -277,7 +277,7 @@ server_send_service_attribute_response(server_p srv, int32_t fd) assert(rsp_end >= rsp); - bcount = htons(rsp_end - rsp); + bcount = rsp_end - rsp; if (((sdp_pdu_p)(srv->req))->pid == SDP_PDU_SERVICE_ATTRIBUTE_REQUEST) pdu.pid = SDP_PDU_SERVICE_ATTRIBUTE_RESPONSE; @@ -287,6 +287,8 @@ server_send_service_attribute_response(server_p srv, int32_t fd) pdu.tid = ((sdp_pdu_p)(srv->req))->tid; pdu.len = htons(sizeof(bcount) + bcount + 1 + cs[0]); + bcount = htons(bcount); + iov[0].iov_base = &pdu; iov[0].iov_len = sizeof(pdu); |