X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincd.c;h=fc92f0b185e7615675bdc9ba09c37467d23d2d1b;hb=6dfdb323612184529b4b83c1be914dda8262de47;hp=98123feb3db07ee8910d245110eea696bba5d710;hpb=248d300f1be0d5f2aae39202041699ab2b46c56b;p=tinc diff --git a/src/tincd.c b/src/tincd.c index 98123feb..fc92f0b1 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -231,11 +231,16 @@ static bool parse_options(int argc, char **argv) { /* netname "." is special: a "top-level name" */ - if(netname && !strcmp(netname, ".")) { + if(netname && (!*netname || !strcmp(netname, "."))) { free(netname); netname = NULL; } + if(netname && (strpbrk(netname, "\\/") || *netname == '.')) { + fprintf(stderr, "Invalid character in netname!\n"); + return false; + } + return true; } @@ -324,8 +329,11 @@ static bool drop_privs(void) { "initgroups", strerror(errno)); return false; } +#ifndef __ANDROID__ +// Not supported in android NDK endgrent(); endpwent(); +#endif } if (do_chroot) { tzset(); /* for proper timestamps in logs */