Merge pull request #11 from zerotier/snprintf-into-self

Avoid using the same source and destination in snprintf()
This commit is contained in:
Joseph Henry 2025-11-10 09:50:22 -08:00 committed by GitHub
commit 7f5850a943
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

22
one.cpp
View file

@ -1196,12 +1196,13 @@ static int cli(int argc, char** argv)
return 0;
}
snprintf((char*)path, sizeof(path), "%s%szerotier_dump.txt", (char*)path, ZT_PATH_SEPARATOR_S);
char dumpfile[PATH_MAX];
snprintf(dumpfile, sizeof(dumpfile), "%s%szerotier_dump.txt", (char*)path, ZT_PATH_SEPARATOR_S);
fprintf(stdout, "Writing dump to: %s\n", path);
int fd = open((char*)path, O_CREAT | O_RDWR, 0664);
fprintf(stdout, "Writing dump to: %s\n", dumpfile);
int fd = open(dumpfile, O_CREAT | O_WRONLY | O_TRUNC, 0664);
if (fd == -1) {
fprintf(stderr, "Error creating file.\n");
perror("Error creating file");
return 1;
}
write(fd, dump.str().c_str(), dump.str().size());
@ -1346,12 +1347,15 @@ static int cli(int argc, char** argv)
}
close(sock);
char cwd[16384];
getcwd(cwd, sizeof(cwd));
snprintf(cwd, sizeof(cwd), "%s%szerotier_dump.txt", cwd, ZT_PATH_SEPARATOR_S);
fprintf(stdout, "Writing dump to: %s\n", cwd);
int fd = open(cwd, O_CREAT | O_RDWR, 0664);
if (getcwd(cwd, sizeof(cwd)) == nullptr) {
strcpy(cwd, ".");
}
char dumpfile[sizeof(cwd) + 32];
snprintf(dumpfile, sizeof(dumpfile), "%s%szerotier_dump.txt", cwd, ZT_PATH_SEPARATOR_S);
fprintf(stdout, "Writing dump to: %s\n", dumpfile);
int fd = open(dumpfile, O_CREAT | O_WRONLY | O_TRUNC, 0664);
if (fd == -1) {
fprintf(stderr, "Error creating file.\n");
perror("Error creating file");
return 1;
}
write(fd, dump.str().c_str(), dump.str().size());