diff --git a/Lib/socket.py b/Lib/socket.py
index 6dddfe1..a9cab32 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -258,7 +258,7 @@
                 raise _GiveupOnSendfile(err)  # not a regular file
             try:
                 fsize = os.fstat(fileno).st_size
-            except OSError:
+            except OSError as err:
                 raise _GiveupOnSendfile(err)  # not a regular file
             if not fsize:
                 return 0  # empty file
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 4b047ee..c5975c8 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1447,6 +1447,25 @@
             self.assertEqual(s.family, 42424)
             self.assertEqual(s.type, 13331)
 
+    @unittest.skipUnless(hasattr(os, 'sendfile'), 'test needs os.sendfile()')
+    def test__sendfile_use_sendfile(self):
+        class File:
+            def __init__(self, fd):
+                self.fd = fd
+
+            def fileno(self):
+                return self.fd
+        with socket.socket() as sock:
+            fd = os.open(os.curdir, os.O_RDONLY)
+            os.close(fd)
+            with self.assertRaises(socket._GiveupOnSendfile):
+                sock._sendfile_use_sendfile(File(fd))
+            with self.assertRaises(OverflowError):
+                sock._sendfile_use_sendfile(File(2**1000))
+            with self.assertRaises(TypeError):
+                sock._sendfile_use_sendfile(File(None))
+
+
 @unittest.skipUnless(HAVE_SOCKET_CAN, 'SocketCan required for this test.')
 class BasicCANTest(unittest.TestCase):
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 8fbdd22..d3e9fd7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -71,6 +71,8 @@
 Library
 -------
 
+- Fix UnboundLocalError in socket._sendfile_use_sendfile.
+
 - Issue #28075: Check for ERROR_ACCESS_DENIED in Windows implementation of
   os.stat().  Patch by Eryk Sun.
 
