BUG/MINOR: mworker: use after free when the PID not assigned

Commit 4528611 ("MEDIUM: mworker: store the leaving state of a process")
introduced a bug in the mworker_env_to_proc_list() function.

This is very unlikely to occur since the PID should always be assigned.
It can probably happen if the environment variable is corrupted.

No backport needed.
diff --git a/src/mworker.c b/src/mworker.c
index 8df748d..cac7410 100644
--- a/src/mworker.c
+++ b/src/mworker.c
@@ -180,14 +180,15 @@
 			}
 		}
 		if (child->pid) {
+			/* this is a process inherited from a reload that should be leaving */
+			child->options |= PROC_O_LEAVING;
+
 			LIST_ADDQ(&proc_list, &child->list);
 		} else {
 			free(child->id);
 			free(child);
 
 		}
-		/* this is a process inherited from a reload that should be leaving */
-		child->options |= PROC_O_LEAVING;
 	}
 
 	unsetenv("HAPROXY_PROCESSES");