From 3e21edb891017d7e98b135fc199c36bf1fc32710 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 21 Aug 2025 10:06:56 -0400 Subject: [PATCH] Remove a bunch of warnings by eliminating deprecated functions. --- one.cpp | 13 +++++++------ osdep/MacDNSHelper.mm | 12 ++++++------ osdep/MacEthernetTap.cpp | 6 +++--- osdep/MacKextEthernetTap.cpp | 2 +- service/OneService.cpp | 5 ++--- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/one.cpp b/one.cpp index bf63a0611..df0c993b8 100644 --- a/one.cpp +++ b/one.cpp @@ -1191,14 +1191,14 @@ static int cli(int argc, char** argv) UInt8 path[PATH_MAX]; if (FSFindFolder(kUserDomain, kDesktopFolderType, kDontCreateFolder, &fsref) == noErr && FSRefMakePath(&fsref, path, sizeof(path)) == noErr) {} else if (getenv("SUDO_USER")) { - sprintf((char*)path, "/Users/%s/Desktop", getenv("SUDO_USER")); + snprintf((char*)path, sizeof(path), "/Users/%s/Desktop", getenv("SUDO_USER")); } else { fprintf(stdout, "%s", dump.str().c_str()); return 0; } - sprintf((char*)path, "%s%szerotier_dump.txt", (char*)path, ZT_PATH_SEPARATOR_S); + snprintf((char*)path, sizeof(path), "%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); @@ -1235,8 +1235,9 @@ static int cli(int argc, char** argv) dump << "MTU: " << curAddr->Mtu << ZT_EOL_S; dump << "MAC: "; char macBuffer[64] = {}; - sprintf( + snprintf( macBuffer, + sizeof(macBuffer), "%02x:%02x:%02x:%02x:%02x:%02x", curAddr->PhysicalAddress[0], curAddr->PhysicalAddress[1], @@ -1271,7 +1272,7 @@ static int cli(int argc, char** argv) char path[MAX_PATH + 1] = {}; if (SHGetFolderPathA(NULL, CSIDL_DESKTOP, NULL, 0, path) == S_OK) { - sprintf(path, "%s%szerotier_dump.txt", path, ZT_PATH_SEPARATOR_S); + snprintf(path, sizeof(path), "%s%szerotier_dump.txt", path, ZT_PATH_SEPARATOR_S); fprintf(stdout, "Writing dump to: %s\n", path); HANDLE file = CreateFileA(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (file == INVALID_HANDLE_VALUE) { @@ -1317,7 +1318,7 @@ static int cli(int argc, char** argv) unsigned char mac_addr[6]; memcpy(mac_addr, ifr.ifr_hwaddr.sa_data, 6); char macStr[18]; - sprintf(macStr, "%02x:%02x:%02x:%02x:%02x:%02x", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); + snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); dump << "MAC: " << macStr << ZT_EOL_S; } @@ -1348,7 +1349,7 @@ static int cli(int argc, char** argv) close(sock); char cwd[16384]; getcwd(cwd, sizeof(cwd)); - sprintf(cwd, "%s%szerotier_dump.txt", cwd, ZT_PATH_SEPARATOR_S); + 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 (fd == -1) { diff --git a/osdep/MacDNSHelper.mm b/osdep/MacDNSHelper.mm index abfd28745..973e51c45 100644 --- a/osdep/MacDNSHelper.mm +++ b/osdep/MacDNSHelper.mm @@ -53,7 +53,7 @@ void MacDNSHelper::setDNS(uint64_t nwid, const char *domain, const std::vectorifa_name; args[2] = "destroy"; args[3] = (char*)0; - const pid_t pid = vfork(); + const pid_t pid = fork(); if (pid == 0) { execv(args[0], const_cast(args)); _exit(-1); @@ -255,7 +255,7 @@ MacEthernetTap::~MacEthernetTap() args[1] = _dev.c_str(); args[2] = "destroy"; args[3] = (char*)0; - pid0 = vfork(); + pid0 = fork(); if (pid0 == 0) { execv(args[0], const_cast(args)); _exit(-1); @@ -266,7 +266,7 @@ MacEthernetTap::~MacEthernetTap() args[1] = tmp; // args[2] = "destroy"; // args[3] = (char *)0; - pid1 = vfork(); + pid1 = fork(); if (pid1 == 0) { execv(args[0], const_cast(args)); _exit(-1); diff --git a/osdep/MacKextEthernetTap.cpp b/osdep/MacKextEthernetTap.cpp index 30149245f..707858fd9 100644 --- a/osdep/MacKextEthernetTap.cpp +++ b/osdep/MacKextEthernetTap.cpp @@ -454,7 +454,7 @@ MacKextEthernetTap::~MacKextEthernetTap() globalTapsRunning = 0; // sanity check -- should not be possible char tmp[16384]; - sprintf(tmp, "%s/%s", _homePath.c_str(), "tap.kext"); + snprintf(tmp, sizeof(tmp), "%s/%s", _homePath.c_str(), "tap.kext"); long kextpid = (long)fork(); if (kextpid == 0) { OSUtils::redirectUnixOutputs("/dev/null", (const char*)0); diff --git a/service/OneService.cpp b/service/OneService.cpp index 81d08f84c..c6c99313f 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -1294,7 +1294,6 @@ class OneServiceImpl : public OneService { _lastRestart = clockShouldBe; int64_t lastTapMulticastGroupCheck = 0; int64_t lastBindRefresh = 0; - int64_t lastUpdateCheck = clockShouldBe; int64_t lastCleanedPeersDb = 0; int64_t lastLocalConfFileCheck = OSUtils::now(); int64_t lastOnline = lastLocalConfFileCheck; @@ -1798,7 +1797,7 @@ class OneServiceImpl : public OneService { if (match.matched) { // fallback char indexHtmlPath[16384]; - sprintf(indexHtmlPath, "%s/%s/%s", appUiDir, match.str().c_str(), "index.html"); + snprintf(indexHtmlPath, sizeof(indexHtmlPath), "%s/%s/%s", appUiDir, match.str().c_str(), "index.html"); // fprintf(stderr, "fallback path %s\n", indexHtmlPath); std::string indexHtml; @@ -1822,7 +1821,7 @@ class OneServiceImpl : public OneService { // add .html std::string htmlFile; char htmlPath[16384]; - sprintf(htmlPath, "%s%s%s", appUiDir, (req.path).substr(appUiPath.length()).c_str(), ".html"); + snprintf(htmlPath, sizeof(htmlPath), "%s%s%s", appUiDir, (req.path).substr(appUiPath.length()).c_str(), ".html"); // fprintf(stderr, "path: %s\n", htmlPath); if (OSUtils::readFile(htmlPath, htmlFile)) { res.set_content(htmlFile.c_str(), "text/html");