On Fri, Jun 27, 2014 at 1:46 PM, Morten Kvistgaard
<[email protected]> wrote:
> A small detail, why do you check if the root_fd is valid? Eg.
>
> ...
> if (G.root_fd >= 0) {
> ...
>
> It shouldn't be possible for it to be invalid and the old code didn't 
> validate it either.

I added this in the next patch:

 #if !BB_MMU
-       G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY);
-       close_on_exec_on(G.root_fd);
+       G.root_fd = -1;
 #endif
        argv += optind;
        if (argv[0]) {
+#if !BB_MMU
+               G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY);
+               close_on_exec_on(G.root_fd);
+#endif
                xchroot(argv[0]);
        }

This way we avoid "chroot jailbreak" games when it is not necessary
(i.e. if ftpd is run without DIR parameter).
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to