aboutsummaryrefslogtreecommitdiffstats
path: root/service/src
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2021-06-24 11:32:26 +0200
committerLouis Burda <quent.burda@gmail.com>2021-06-24 11:32:48 +0200
commitcc1bbb8f1e827863b679932496cf06fa3d5bf81a (patch)
treea84ffa9661d70d0170860cfaea6342c754709e63 /service/src
parenta0bd3d833d916cadd23d17d0b3784e28c729967d (diff)
downloadenowars5-service-stldoctor-cc1bbb8f1e827863b679932496cf06fa3d5bf81a.tar.gz
enowars5-service-stldoctor-cc1bbb8f1e827863b679932496cf06fa3d5bf81a.zip
bumped enochecker to handle closed connections correctly, fixed added code that prevented exploiting flagstore 2
Diffstat (limited to 'service/src')
-rw-r--r--service/src/main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/service/src/main.c b/service/src/main.c
index 24279c5..751f2ef 100644
--- a/service/src/main.c
+++ b/service/src/main.c
@@ -204,7 +204,7 @@ search_cmd(const char *arg)
dirstart = telldir(d);
for (pathc = 0; (de = readdir(d));) {
if (access_authorized(de->d_name)
- && !strpfcmp(hash, de->d_name + loggedin)) {
+ && !strpfcmp(hash, de->d_name + (loggedin ? 1 : 0))) {
printf("%i : %s\n", pathc, de->d_name);
paths[pathc++] = checkp(strdup(de->d_name));
if (pathc == pathcap) {
@@ -347,15 +347,17 @@ cleanexit()
int
main()
{
- const char *cmd;
+ const char *cmd, *envstr;
char *cp, *arg;
int exit, i, cmdlen;
- if (!(resultdir = checkp(strdup(getenv("RESULTDIR"))))) {
+ if (!(envstr = getenv("RESULTDIR"))) {
printf("RESULTDIR not defined\n");
return 1;
}
+ resultdir = checkp(strdup(envstr));
+
setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);