X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib_internal%2Futil-safechdir.c;fp=lib_internal%2Futil-safechdir.c;h=0000000000000000000000000000000000000000;hb=db5ef3f969fc6ad34aeb5903e44d0049b2e50791;hp=a0c199159390bffa92caa45fd77c66fdf22dd967;hpb=95e2774070e989fe9cf9f48dae5fa054e55e2a3e;p=util-vserver.git diff --git a/lib_internal/util-safechdir.c b/lib_internal/util-safechdir.c deleted file mode 100644 index a0c1991..0000000 --- a/lib_internal/util-safechdir.c +++ /dev/null @@ -1,50 +0,0 @@ -// $Id: util-safechdir.c 956 2004-02-19 22:25:50Z ensc $ --*- c -*-- - -// Copyright (C) 2003 Enrico Scholz -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include -#include - -int -safeChdir(char const *path, struct stat const *exp_stat) -{ - if (strchr(path, '/')!=0) { - errno = EINVAL; - return -1; - } - - { - struct stat now_stat; - if (chdir(path)==-1 || - stat(".", &now_stat)==-1) return -1; - if (exp_stat->st_dev != now_stat.st_dev || - exp_stat->st_ino != now_stat.st_ino) { - // TODO: warning/logging - errno = EINVAL; - return -1; - } - } - - return 0; -}