aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2017-05-17 11:11:30 -0700
committerAndi Kleen <ak@linux.intel.com>2017-05-17 14:43:53 -0700
commit56bdc7fd0777703f0b7f700edb7f9e8e7da3df70 (patch)
treed32e76f32a55e051b5b8722544132fc74de8fc47
parentef5e3f24feea0865f47754efa4e9479c639e557f (diff)
downloadmcelog-56bdc7fd0777703f0b7f700edb7f9e8e7da3df70.tar.gz
mcelog: Check whether we successfully changed directory for trigger.
Currenlty there is only one compiler warning when building mcelog: trigger.c: In function ‘run_trigger’: trigger.c:85:4: warning: ignoring return value of ‘chdir’, declared with attribute warn_unused_result [-Wunused-result] chdir(trigger_dir); ^~~~~~~~~~~~~~~~~~ If we fail to change directory to "trigger_dir" we should print an error and not run the trigger action. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
-rw-r--r--trigger.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/trigger.c b/trigger.c
index 8da3b2a..4041950 100644
--- a/trigger.c
+++ b/trigger.c
@@ -81,9 +81,10 @@ void run_trigger(char *trigger, char *argv[], char **env)
return;
}
if (child == 0) {
- if (trigger_dir)
- chdir(trigger_dir);
- execve(trigger, argv, env);
+ if (trigger_dir && chdir(trigger_dir) == -1)
+ SYSERRprintf("Cannot chdir(%s) for trigger", trigger_dir);
+ else
+ execve(trigger, argv, env);
_exit(127);
}
}