/* 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;
}
"initgroups", strerror(errno));
return false;
}
+#ifndef __ANDROID__
+// Not supported in android NDK
endgrent();
endpwent();
+#endif
}
if (do_chroot) {
tzset(); /* for proper timestamps in logs */