Diff between 33eb51c9379db017624182085bdb4dc4e2b17cc6 and 845a7bdf820b857569e10577a5ac1c439836bfb0

Changed Files

File Additions Deletions Status
tools/l2cap-tester.c +11 -2 modified

Full Patch

diff --git a/tools/l2cap-tester.c b/tools/l2cap-tester.c
index 7d0f3de..7c50f26 100644
--- a/tools/l2cap-tester.c
+++ b/tools/l2cap-tester.c
@@ -509,7 +509,11 @@ static gboolean client_received_data(GIOChannel *io, GIOCondition cond,
 	int sk;
 
 	sk = g_io_channel_unix_get_fd(io);
-	read(sk, buf, l2data->data_len);
+	if (read(sk, buf, l2data->data_len) != l2data->data_len) {
+		tester_warn("Unable to read %u bytes", l2data->data_len);
+		tester_test_failed();
+		return FALSE;
+	}
 
 	if (memcmp(buf, l2data->read_data, l2data->data_len))
 		tester_test_failed();
@@ -528,7 +532,12 @@ static gboolean server_received_data(GIOChannel *io, GIOCondition cond,
 	int sk;
 
 	sk = g_io_channel_unix_get_fd(io);
-	read(sk, buf, l2data->data_len);
+	if (read(sk, buf, l2data->data_len) != l2data->data_len) {
+		tester_warn("Unable to read %u bytes", l2data->data_len);
+		tester_test_failed();
+		close(sk);
+		return FALSE;
+	}
 
 	if (memcmp(buf, l2data->read_data, l2data->data_len))
 		tester_test_failed();