Use the new Py_ARRAY_LENGTH macro
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 79ccae8..62b3fe9 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -3812,7 +3812,7 @@
        version of the hostname, whereas we need a Unicode string.
        Otherwise, gethostname apparently also returns the DNS name. */
     wchar_t buf[MAX_COMPUTERNAME_LENGTH + 1];
-    DWORD size = sizeof(buf) / sizeof(wchar_t);
+    DWORD size = Py_ARRAY_LENGTH(buf);
     PyObject *result;
     if (!GetComputerNameExW(ComputerNamePhysicalDnsHostname, buf, &size)) {
         if (GetLastError() == ERROR_MORE_DATA) {
@@ -6281,7 +6281,7 @@
         DWORD codes[] = {SIO_RCVALL, SIO_KEEPALIVE_VALS};
         const char *names[] = {"SIO_RCVALL", "SIO_KEEPALIVE_VALS"};
         int i;
-        for(i = 0; i<sizeof(codes)/sizeof(*codes); ++i) {
+        for(i = 0; i<Py_ARRAY_LENGTH(codes); ++i) {
             PyObject *tmp;
             tmp = PyLong_FromUnsignedLong(codes[i]);
             if (tmp == NULL)