From 5b13af0edd3622d65f4adca93ec822f19ca75edc Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 5 Aug 2021 23:10:14 +0200 Subject: [PATCH] Kernel: Use try_copy_kstring_from_user() in Socket::setsockopt() --- Kernel/Net/Socket.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Kernel/Net/Socket.cpp b/Kernel/Net/Socket.cpp index 2615d7bbd3..e7bc17a581 100644 --- a/Kernel/Net/Socket.cpp +++ b/Kernel/Net/Socket.cpp @@ -108,10 +108,10 @@ KResult Socket::setsockopt(int level, int option, Userspace user_va if (user_value_size != IFNAMSIZ) return EINVAL; auto user_string = static_ptr_cast(user_value); - auto ifname = copy_string_from_user(user_string, user_value_size); - if (ifname.is_null()) - return EFAULT; - auto device = NetworkingManagement::the().lookup_by_name(ifname); + auto ifname_or_error = try_copy_kstring_from_user(user_string, user_value_size); + if (ifname_or_error.is_error()) + return ifname_or_error.error(); + auto device = NetworkingManagement::the().lookup_by_name(ifname_or_error.value()->view()); if (!device) return ENODEV; m_bound_interface = device;