X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=cmds.c;h=08095378529aee15ad159caa62543cd32b854119;hb=6f01ac2a8ec1e4e781bdf344496e7a88e1ce07de;hp=cfb02689446f7d41302228460591d5a82f1f6fa9;hpb=06d4616d0b25d5dbdb9cb04675d9d10e24c8ec0c;p=betaftpd diff --git a/cmds.c b/cmds.c index cfb0268..0809537 100644 --- a/cmds.c +++ b/cmds.c @@ -1609,11 +1609,11 @@ void parse_command(struct conn *c) #if !WANT_NONROOT if (h->do_setuid) { - seteuid(c->uid); setegid(c->gid); + seteuid(c->uid); } else { - setegid(getgid()); seteuid(getuid()); + setegid(getgid()); } #endif @@ -1845,7 +1845,7 @@ int prepare_for_listing(struct conn * const c, char ** const ptr, case 'F': lo->classify = 1; break; - case ' ': + case '\0': fptr = optr + 1; *(optr--) = 0; break; @@ -1856,7 +1856,7 @@ int prepare_for_listing(struct conn * const c, char ** const ptr, } else { fptr = c->recv_buf; } - + /* then we chdir to the dir in fptr (if any) */ tmp = fptr ? strrchr(fptr, '/') : NULL; if (tmp != NULL) {