From f54023cf37881aa7859b9717576821676211e07c Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Thu, 28 May 2009 16:03:50 +0000 Subject: [PATCH] Propagate error codes in FIONREAD. Fixes bug #3973. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30896 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/stack/net_socket.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/add-ons/kernel/network/stack/net_socket.cpp b/src/add-ons/kernel/network/stack/net_socket.cpp index 138ef01f84..e79940e55d 100644 --- a/src/add-ons/kernel/network/stack/net_socket.cpp +++ b/src/add-ons/kernel/network/stack/net_socket.cpp @@ -502,6 +502,9 @@ socket_control(net_socket* socket, int32 op, void* data, size_t length) return B_BAD_VALUE; ssize_t available = socket_read_avail(socket); + if (available < B_OK) + return available; + if (is_syscall()) { if (!IS_USER_ADDRESS(data) || user_memcpy(data, &available, sizeof(ssize_t)) != B_OK) {