Parcourir la source

Kernel: Use try_copy_kstring_from_user() in IPv4Socket::ioctl()

Andreas Kling il y a 4 ans
Parent
commit
b96ad76cba
1 fichiers modifiés avec 4 ajouts et 4 suppressions
  1. 4 4
      Kernel/Net/IPv4Socket.cpp

+ 4 - 4
Kernel/Net/IPv4Socket.cpp

@@ -589,11 +589,11 @@ KResult IPv4Socket::ioctl(FileDescription&, unsigned request, Userspace<void*> a
         if (!copy_from_user(&route, user_route))
             return EFAULT;
 
-        auto copied_ifname = copy_string_from_user(route.rt_dev, IFNAMSIZ);
-        if (copied_ifname.is_null())
-            return EFAULT;
+        auto ifname_or_error = try_copy_kstring_from_user(route.rt_dev, IFNAMSIZ);
+        if (ifname_or_error.is_error())
+            return ifname_or_error.error();
 
-        auto adapter = NetworkingManagement::the().lookup_by_name(copied_ifname);
+        auto adapter = NetworkingManagement::the().lookup_by_name(ifname_or_error.value()->view());
         if (!adapter)
             return ENODEV;