From 982991d92db5f92d02051cd593bf6375169b23a4 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 5 Sep 2021 14:16:08 +0200 Subject: [PATCH] Kernel: Use TRY() in IPv4Socket --- Kernel/Net/IPv4Socket.cpp | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/Kernel/Net/IPv4Socket.cpp b/Kernel/Net/IPv4Socket.cpp index d2488aab17..1bedecab38 100644 --- a/Kernel/Net/IPv4Socket.cpp +++ b/Kernel/Net/IPv4Socket.cpp @@ -46,18 +46,10 @@ KResultOr> IPv4Socket::create(int type, int protocol) if (!receive_buffer) return ENOMEM; - if (type == SOCK_STREAM) { - auto tcp_socket_or_error = TCPSocket::try_create(protocol, receive_buffer.release_nonnull()); - if (tcp_socket_or_error.is_error()) - return tcp_socket_or_error.error(); - return tcp_socket_or_error.release_value(); - } - if (type == SOCK_DGRAM) { - auto udp_socket_or_error = UDPSocket::try_create(protocol, receive_buffer.release_nonnull()); - if (udp_socket_or_error.is_error()) - return udp_socket_or_error.error(); - return udp_socket_or_error.release_value(); - } + if (type == SOCK_STREAM) + return TRY(TCPSocket::try_create(protocol, receive_buffer.release_nonnull())); + if (type == SOCK_DGRAM) + return TRY(UDPSocket::try_create(protocol, receive_buffer.release_nonnull())); if (type == SOCK_RAW) { auto raw_socket = adopt_ref_if_nonnull(new (nothrow) IPv4Socket(type, protocol, receive_buffer.release_nonnull(), {})); if (raw_socket) @@ -593,11 +585,9 @@ KResult IPv4Socket::ioctl(FileDescription&, unsigned request, Userspace a return EFAULT; Userspace user_rt_dev((FlatPtr)route.rt_dev); - auto ifname_or_error = try_copy_kstring_from_user(user_rt_dev, IFNAMSIZ); - if (ifname_or_error.is_error()) - return ifname_or_error.error(); + auto ifname = TRY(try_copy_kstring_from_user(user_rt_dev, IFNAMSIZ)); - auto adapter = NetworkingManagement::the().lookup_by_name(ifname_or_error.value()->view()); + auto adapter = NetworkingManagement::the().lookup_by_name(ifname->view()); if (!adapter) return ENODEV; @@ -801,5 +791,4 @@ void IPv4Socket::set_can_read(bool value) if (value) evaluate_block_conditions(); } - }