aboutsummaryrefslogtreecommitdiffstats
path: root/rc.d
diff options
context:
space:
mode:
authorLukas Nykryn <lnykryn@redhat.com>2014-04-30 12:47:59 +0200
committerLukas Nykryn <lnykryn@redhat.com>2014-04-30 12:50:37 +0200
commit1c1f0570acdc7ebc48db5a52690c54d98dd0314e (patch)
tree5402503e0be32f7028d51409a25548a6a4c8d836 /rc.d
parent32a67116ad1b2f058d9724b5205a859f01dca7a3 (diff)
downloadinitscripts-1c1f0570acdc7ebc48db5a52690c54d98dd0314e.tar
initscripts-1c1f0570acdc7ebc48db5a52690c54d98dd0314e.tar.gz
initscripts-1c1f0570acdc7ebc48db5a52690c54d98dd0314e.tar.bz2
initscripts-1c1f0570acdc7ebc48db5a52690c54d98dd0314e.tar.xz
initscripts-1c1f0570acdc7ebc48db5a52690c54d98dd0314e.zip
init.d/functions: check parent dir of pid file for accessibility
Conflicts: rc.d/init.d/functions
Diffstat (limited to 'rc.d')
-rw-r--r--rc.d/init.d/functions3
1 files changed, 3 insertions, 0 deletions
diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
index d474a620..cfe7f12a 100644
--- a/rc.d/init.d/functions
+++ b/rc.d/init.d/functions
@@ -148,8 +148,11 @@ __umount_loopback_loop() {
__pids_var_run() {
local base=${1##*/}
local pid_file=${2:-/var/run/$base.pid}
+ local pid_dir=$(/usr/bin/dirname $pid_file > /dev/null)
local binary=$3
+ [ -d "$pid_dir" -a ! -r "$pid_dir" ] && return 4
+
pid=
if [ -f "$pid_file" ] ; then
local line p