summaryrefslogtreecommitdiff
path: root/src/sdpd-request.c
diff options
context:
space:
mode:
authorLuiz Augusto Von Dentz <luiz.dentz-von@nokia.com>2010-03-22 15:11:07 +0200
committerLuiz Augusto Von Dentz <luiz.dentz-von@nokia.com>2010-03-24 23:16:45 +0200
commitdd7494fa11f897fa9a4356425b5f1652c57345f3 (patch)
tree3baa3d2f92b4f47fba6b1c48401cd921b21219f1 /src/sdpd-request.c
parentec98e03076f6b4508e945b6a4afb943c0e1f4800 (diff)
downloadbluez-dd7494fa11f897fa9a4356425b5f1652c57345f3.tar.gz
Check the return of getsockopt and getsockname logging the errors
Diffstat (limited to 'src/sdpd-request.c')
-rw-r--r--src/sdpd-request.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/sdpd-request.c b/src/sdpd-request.c
index c878c07d4..88d0afabc 100644
--- a/src/sdpd-request.c
+++ b/src/sdpd-request.c
@@ -1040,20 +1040,33 @@ void handle_request(int sk, uint8_t *data, int len)
sdp_req_t req;
size = sizeof(sa);
- if (getpeername(sk, (struct sockaddr *) &sa, &size) < 0)
+ if (getpeername(sk, (struct sockaddr *) &sa, &size) < 0) {
+ error("getpeername: %s", strerror(errno));
return;
+ }
- if (sa.l2_family == AF_BLUETOOTH) {
+ if (sa.l2_family == AF_BLUETOOTH) {
struct l2cap_options lo;
+
memset(&lo, 0, sizeof(lo));
size = sizeof(lo);
- getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &lo, &size);
+
+ if (getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &lo, &size) < 0) {
+ error("getsockopt: %s", strerror(errno));
+ return;
+ }
+
bacpy(&req.bdaddr, &sa.l2_bdaddr);
req.mtu = lo.omtu;
req.local = 0;
memset(&sa, 0, sizeof(sa));
size = sizeof(sa);
- getsockname(sk, (struct sockaddr *) &sa, &size);
+
+ if (getsockname(sk, (struct sockaddr *) &sa, &size) < 0) {
+ error("getsockname: %s", strerror(errno));
+ return;
+ }
+
bacpy(&req.device, &sa.l2_bdaddr);
} else {
bacpy(&req.device, BDADDR_ANY);