diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-10-04 06:44:20 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-10-04 06:44:20 +0000 |
commit | af4a13b37a1dbf7df8b246abc4f816f48d71c007 (patch) | |
tree | 1a5b064648ff0d2965a362007b3b11f30bd6246e /source3/smbwrapper/wrapped.c | |
parent | f3db9286f98a8d5ab2310fca73e89f0f2732704e (diff) | |
download | samba-af4a13b37a1dbf7df8b246abc4f816f48d71c007.tar.gz samba-af4a13b37a1dbf7df8b246abc4f816f48d71c007.tar.bz2 samba-af4a13b37a1dbf7df8b246abc4f816f48d71c007.zip |
refuse symlinks to or from a smb path
(This used to be commit 83e93d2a4493546cb481f5c8187c64207b5901d1)
Diffstat (limited to 'source3/smbwrapper/wrapped.c')
-rw-r--r-- | source3/smbwrapper/wrapped.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/smbwrapper/wrapped.c b/source3/smbwrapper/wrapped.c index 30676ca3d0..13bd449db3 100644 --- a/source3/smbwrapper/wrapped.c +++ b/source3/smbwrapper/wrapped.c @@ -495,3 +495,17 @@ __asm__(".globl __write; __write = write"); return real_rmdir(name); } + + int symlink(const char *topath,const char *frompath) +{ + int p1, p2; + p1 = smbw_path(topath); + p2 = smbw_path(frompath); + if (p1 || p2) { + /* can't handle symlinks */ + errno = EPERM; + return -1; + } + + return real_symlink(topath, frompath); +} |