When setting environment variables in the atrun script, use the
"export foo=bar" form instead of "foo=bar; export foo" since the former allows the shell to catch variable names that are not valid shell identifiers. This will cause /bin/sh to exit with an error (which gets mailed to the at user) and it will not run the script. Obtained from: OpenBSD (r1.63 millert) MFC after: 3 days
This commit is contained in:
parent
4f65713d76
commit
ec42adf015
@ -367,6 +367,7 @@ writefile(time_t runtimer, char queue)
|
||||
|
||||
if (export)
|
||||
{
|
||||
(void)fputs("export ", fp);
|
||||
fwrite(*atenv, sizeof(char), eqp-*atenv, fp);
|
||||
for(ap = eqp;*ap != '\0'; ap++)
|
||||
{
|
||||
@ -389,7 +390,6 @@ writefile(time_t runtimer, char queue)
|
||||
fputc(*ap, fp);
|
||||
}
|
||||
}
|
||||
fputs("; export ", fp);
|
||||
fwrite(*atenv, sizeof(char), eqp-*atenv -1, fp);
|
||||
fputc('\n', fp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user