From 469a85f74d631a83e325982d4101909e5e0a7834 Mon Sep 17 00:00:00 2001 From: Paul Elder Date: Tue, 9 Jun 2020 14:38:33 +0900 Subject: v4l2: v4l2_camera_proxy, v4l2_camera: Check return values of read/write The return value of the write to the eventfd (to signal POLLIN) from V4L2Camera and the read from the eventfd (to clear POLLIN) from V4L2CameraProxy was ignored. Check the return value, and print an error message. Reported-by: Coverity CID=290743 Reported-by: Coverity CID=290744 Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- src/v4l2/v4l2_camera.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/v4l2/v4l2_camera.cpp') diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp index 3c369328..9a1ebc84 100644 --- a/src/v4l2/v4l2_camera.cpp +++ b/src/v4l2/v4l2_camera.cpp @@ -91,7 +91,9 @@ void V4L2Camera::requestComplete(Request *request) bufferLock_.unlock(); uint64_t data = 1; - ::write(efd_, &data, sizeof(data)); + int ret = ::write(efd_, &data, sizeof(data)); + if (ret != sizeof(data)) + LOG(V4L2Compat, Error) << "Failed to signal eventfd POLLIN"; bufferSema_.release(); } -- cgit v1.2.1