diff --git a/cbits/runProcess.c b/cbits/runProcess.c
--- a/cbits/runProcess.c
+++ b/cbits/runProcess.c
@@ -862,8 +862,10 @@
     JOBOBJECT_BASIC_PROCESS_ID_LIST *pid_list = NULL;
 
     while (true) {
+      size_t pid_list_size = sizeof(JOBOBJECT_BASIC_PROCESS_ID_LIST) + sizeof(ULONG_PTR) * (process_count - 1);
+
       if (pid_list == NULL) {
-        pid_list = malloc(sizeof(JOBOBJECT_BASIC_PROCESS_ID_LIST) + sizeof(ULONG_PTR) * process_count);
+        pid_list = malloc(pid_list_size);
         pid_list->NumberOfAssignedProcesses = process_count;
       }
 
@@ -872,7 +874,7 @@
           hJob,
           JobObjectBasicProcessIdList,
           pid_list,
-          sizeof(JOBOBJECT_BASIC_PROCESS_ID_LIST),
+          pid_list_size,
           NULL);
 
       if (!success && GetLastError() == ERROR_MORE_DATA) {
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
 
+## 1.6.9 *May 2020*
+
+* Windows: Fix buffer size of `QueryInformationJobObject` request [#176](https://github.com/haskell/process/pull/176/files)
+
 ## 1.6.8.2 *March 2020*
 
 * Fix another process wait bug on Windows.
diff --git a/process.cabal b/process.cabal
--- a/process.cabal
+++ b/process.cabal
@@ -1,5 +1,5 @@
 name:          process
-version:       1.6.8.2
+version:       1.6.9.0
 -- NOTE: Don't forget to update ./changelog.md
 license:       BSD3
 license-file:  LICENSE
