diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-09-04 21:42:19 +0800 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-09-05 03:22:13 +0800 |
commit | f4d850eb76df75b91acfc85cbe847325d66865db (patch) | |
tree | 7afe36209e85f8f64f13c7eb43fd12acd3987c9f /fs | |
parent | 2f17f1a22f112bbc1eaa179914f0e5069f2a5ba2 (diff) | |
download | barebox-f4d850eb76df75b91acfc85cbe847325d66865db.tar.gz barebox-f4d850eb76df75b91acfc85cbe847325d66865db.tar.xz |
fs: fix rmdir with symlink
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fs.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1253,6 +1253,12 @@ int rmdir (const char *pathname) char *freep = p; int ret; + ret = path_check_prereq(pathname, S_IFLNK); + if (!ret) { + ret = -ENOTDIR; + goto out; + } + ret = path_check_prereq(pathname, S_IFDIR | S_UB_IS_EMPTY); if (ret) goto out; |