...
| Wiki Markup |
|---|
POSIX also specifies the {{confstr()}} function which can then be used to look up default values for environment variables \[[Open Group 04|AA. C References#Open Group 04]\]. POSIX.1-2008 defines a new {{\_CS_V7_ENV}} argument to {{confstr()}} to retrieve a list of environment variable settings required for a default conforming environment \[[Austin Group 08|AA. C References#Austin Group 08]\]. A space-separated list of variable=value pairs is returned, with variable names guaranteed not to contain =equal signs, and variable=value pairs guaranteed not to contain spaces. Used together with the {{\_CS_PATH}} request illustrated above, this completely describes the minimum environment variable settings required to obtain a clean conforming environment. On systems conforming to the POSIX.1-2008 standard, this should be used to create a sanitized environment. |
...
In this compliant solution, the environment is first cleared out using by clearenv() and then the $PATH PATH and $IFS IFS variables are set to safe values before invoking system().
...