From 33eb51c9379db017624182085bdb4dc4e2b17cc6 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 20 Dec 2013 10:26:18 +0200 Subject: [PATCH] tools/l2cap-tester: Fix checking for write() return values --- tools/l2cap-tester.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/l2cap-tester.c b/tools/l2cap-tester.c index 55e8ac999..7d0f3de06 100644 --- a/tools/l2cap-tester.c +++ b/tools/l2cap-tester.c @@ -608,12 +608,17 @@ static gboolean l2cap_connect_cb(GIOChannel *io, GIOCondition cond, return FALSE; } else if (l2data->write_data) { struct bthost *bthost; + ssize_t ret; bthost = hciemu_client_get_host(data->hciemu); bthost_add_cid_hook(bthost, data->handle, data->dcid, bthost_received_data, NULL); - write(sk, l2data->write_data, l2data->data_len); + ret = write(sk, l2data->write_data, l2data->data_len); + if (ret != l2data->data_len) { + tester_warn("Unable to write all data"); + tester_test_failed(); + } return FALSE; } @@ -780,14 +785,20 @@ static gboolean l2cap_listen_cb(GIOChannel *io, GIOCondition cond, return FALSE; } else if (l2data->write_data) { struct bthost *bthost; + ssize_t ret; bthost = hciemu_client_get_host(data->hciemu); bthost_add_cid_hook(bthost, data->handle, data->scid, server_bthost_received_data, NULL); - write(new_sk, l2data->write_data, l2data->data_len); + ret = write(new_sk, l2data->write_data, l2data->data_len); close(new_sk); + if (ret != l2data->data_len) { + tester_warn("Unable to write all data"); + tester_test_failed(); + } + return FALSE; } -- 2.47.3