Issue #3805: clean up implementation of the _read method in _ssl.c.
diff --git a/Lib/ssl.py b/Lib/ssl.py
index e83d889..0c609be 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -199,14 +199,14 @@
 
         self._checkClosed()
         try:
-            if buffer:
-                v = self._sslobj.read(buffer, len)
+            if buffer is not None:
+                v = self._sslobj.read(len, buffer)
             else:
                 v = self._sslobj.read(len or 1024)
             return v
         except SSLError as x:
             if x.args[0] == SSL_ERROR_EOF and self.suppress_ragged_eofs:
-                if buffer:
+                if buffer is not None:
                     return 0
                 else:
                     return b''