Fixes issue4653 - Correctly specify the buffer size to FormatMessageW and
correctly check for errors on two CreateFileMapping calls.
diff --git a/PC/bdist_wininst/extract.c b/PC/bdist_wininst/extract.c
index c900f23..aec8eda 100644
--- a/PC/bdist_wininst/extract.c
+++ b/PC/bdist_wininst/extract.c
@@ -127,7 +127,7 @@
 
     CloseHandle(hFile);
 
-    if (hFileMapping == INVALID_HANDLE_VALUE) {
+    if (hFileMapping == NULL) {
         if (notify)
             notify(SYSTEM_ERROR,
                    "CreateFileMapping (%s)", filename);
diff --git a/PC/bdist_wininst/install.c b/PC/bdist_wininst/install.c
index 771922c..c11d45d 100644
--- a/PC/bdist_wininst/install.c
+++ b/PC/bdist_wininst/install.c
@@ -1019,7 +1019,7 @@
                                       NULL, PAGE_READONLY, 0, 0, NULL);
     CloseHandle(hFile);
 
-    if (hFileMapping == INVALID_HANDLE_VALUE)
+    if (hFileMapping == NULL)
         return NULL;
 
     data = MapViewOfFile(hFileMapping,
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index 25b6680..edb6038 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -235,7 +235,7 @@
                            SUBLANG_DEFAULT),
                            /* Default language */
                 theInfo, /* the buffer */
-                sizeof(theInfo), /* the buffer size */
+                sizeof(theInfo) / sizeof(wchar_t), /* size in wchars */
                 NULL); /* no additional format args. */
 
             /* Problem: could not get the error message.