diff options
author | Tony Luck <tony.luck@intel.com> | 2017-05-17 11:11:30 -0700 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2017-05-17 14:43:53 -0700 |
commit | 56bdc7fd0777703f0b7f700edb7f9e8e7da3df70 (patch) | |
tree | d32e76f32a55e051b5b8722544132fc74de8fc47 | |
parent | ef5e3f24feea0865f47754efa4e9479c639e557f (diff) | |
download | mcelog-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.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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); } } |