BUG/MINOR: mworker: stop doing strtok directly from the env

When parsing the HAPROXY_PROCESSES environement variable, strtok was
done directly from the ptr resulting from getenv(), which replaces the ;
by \0, showing confusing environment variables when debugging in /proc
or in a corefile.

Example:

	(gdb) x/39s *environ
	[...]
	0x7fff6935af64: "HAPROXY_PROCESSES=|type=w"
	0x7fff6935af7e: "fd=3"
	0x7fff6935af83: "pid=4444"
	0x7fff6935af8d: "rpid=1"
	0x7fff6935af94: "reloads=0"
	0x7fff6935af9e: "timestamp=1676338060"
	0x7fff6935afb3: "id="
	0x7fff6935afb7: "version=2.4.0-8076da-1010+11"

This patch fixes the issue by doing a strdup on the variable.

Could be backported in previous versions (mworker_proc_to_env_list
exists since 1.9)

(cherry picked from commit d27f457eea470117c608bf9d1a3bd42bcdb8e5dd)
Signed-off-by: William Lallemand <wlallemand@haproxy.org>
(cherry picked from commit 607c038872777fa597613b557023b1ded45874e9)
Signed-off-by: William Lallemand <wlallemand@haproxy.org>
(cherry picked from commit 0ffcf775a55c01cb97888df04a17b7d4133e10d8)
Signed-off-by: William Lallemand <wlallemand@haproxy.org>
(cherry picked from commit 54cb7716dd1662eea4fb16096878bca687731fba)
[cf: ctx adjt]
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed