From 032cfb5cefb6e3e516f140cd3a828809ec88fec4 Mon Sep 17 00:00:00 2001 From: oetiker Date: Thu, 11 Aug 2005 19:18:36 +0000 Subject: [PATCH] only bomb is there is no chroot and someone tries to use it. git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@672 a5681a0c-68f1-0310-ab6d-d61299d08faa --- src/rrd_tool.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/rrd_tool.c b/src/rrd_tool.c index ecd88f9..fba0fa0 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -331,9 +331,9 @@ int main(int argc, char *argv[]) gettimeofday(&starttime,&tz); #endif RemoteMode=1; -#ifdef HAVE_CHROOT if ((argc == 3) && strcmp("",argv[2])){ if (getuid()==0){ +#ifdef HAVE_CHROOT chroot(argv[2]); if (errno!=0){ fprintf(stderr,"ERROR: can't change root to '%s' errno=%d\n", @@ -342,8 +342,12 @@ int main(int argc, char *argv[]) } ChangeRoot=1; firstdir="/"; - } - else{ +#else + fprintf(stderr,"ERROR: change root is not supported by your OS " + "or at least by this copy of rrdtool\n"); + exit(1); +#endif + } else { firstdir=argv[2]; } } @@ -354,11 +358,6 @@ int main(int argc, char *argv[]) exit(errno); } } -#else - fprintf(stderr,"ERROR: change root is not supported by your OS " - "or at least by this copy of rrdtool\n"); - exit(1); -#endif while (fgets(aLine, sizeof(aLine)-1, stdin)){ if ((argc = CountArgs(aLine)) == 0) { -- 2.11.0