aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2012-03-08 00:28:52 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2012-03-08 00:28:52 +0100
commit4e3beb2e1db3d4739a5a924e003938a9815f98e5 (patch)
tree5fbfd5643c5e64dd82852be92bb66c9c9d2245b4
parent0687a5b496a05cbc06f3bcdc517a2e6cabc535df (diff)
downloadbusybox-w32-4e3beb2e1db3d4739a5a924e003938a9815f98e5.tar.gz
busybox-w32-4e3beb2e1db3d4739a5a924e003938a9815f98e5.tar.bz2
busybox-w32-4e3beb2e1db3d4739a5a924e003938a9815f98e5.zip
tftpd: chroot to DIR, not merely chdir. Closes 4874
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/tftp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/networking/tftp.c b/networking/tftp.c
index 043b879af..ce48a1edd 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -789,8 +789,9 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv)
789 openlog(applet_name, LOG_PID, LOG_DAEMON); 789 openlog(applet_name, LOG_PID, LOG_DAEMON);
790 logmode = LOGMODE_SYSLOG; 790 logmode = LOGMODE_SYSLOG;
791 } 791 }
792 if (argv[0]) 792 if (argv[0]) {
793 xchdir(argv[0]); 793 xchroot(argv[0]);
794 }
794 795
795 result = recv_from_to(STDIN_FILENO, block_buf, sizeof(block_buf), 796 result = recv_from_to(STDIN_FILENO, block_buf, sizeof(block_buf),
796 0 /* flags */, 797 0 /* flags */,