aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorMaksim Yevmenkin <emax@FreeBSD.org>2007-02-23 19:37:47 +0000
committerMaksim Yevmenkin <emax@FreeBSD.org>2007-02-23 19:37:47 +0000
commit6bfc799ccfbfdb10b61b31fe27eaca956b91990d (patch)
tree59d1af18ec21ae70e6a15189a4dad6a2d0d2559c /usr.sbin
parent21ab16bd5b7077b165e9264b71f964c66f6831f2 (diff)
Notes
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bluetooth/sdpd/server.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/bluetooth/sdpd/server.c b/usr.sbin/bluetooth/sdpd/server.c
index bef7e3ee8d13..816c6f5e6c2f 100644
--- a/usr.sbin/bluetooth/sdpd/server.c
+++ b/usr.sbin/bluetooth/sdpd/server.c
@@ -432,7 +432,8 @@ server_process_request(server_p srv, int32_t fd)
return (-1);
}
- if (sizeof(*pdu) + (pdu->len = ntohs(pdu->len)) == len) {
+ if (len >= sizeof(*pdu) &&
+ sizeof(*pdu) + (pdu->len = ntohs(pdu->len)) == len) {
switch (pdu->pid) {
case SDP_PDU_SERVICE_SEARCH_REQUEST:
error = server_prepare_service_search_response(srv, fd);