Parcourir la source

Fix a file descriptor leak in TapInterfaceDesc::interface_mtu.

whitequark il y a 7 ans
Parent
commit
974bad1adf
1 fichiers modifiés avec 5 ajouts et 1 suppressions
  1. 5 1
      src/phy/sys/tap_interface.rs

+ 5 - 1
src/phy/sys/tap_interface.rs

@@ -37,7 +37,11 @@ impl TapInterfaceDesc {
             lower
         };
 
-        ifreq_ioctl(lower, &mut self.ifreq, imp::SIOCGIFMTU).map(|mtu| mtu as usize)
+        let mtu = ifreq_ioctl(lower, &mut self.ifreq, imp::SIOCGIFMTU).map(|mtu| mtu as usize);
+
+        unsafe { libc::close(lower); }
+
+        mtu
     }
 
     fn wait(&mut self, ms: u32) -> io::Result<bool> {