Skip to content

Commit

Permalink
fix getCommandLine in linux
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanshudong committed Feb 29, 2024
1 parent 5ed7bbd commit 3f85df1
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 11 deletions.
12 changes: 6 additions & 6 deletions unit-test/util/test_tc_endpoint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,39 +35,39 @@ TEST_F(UtilEndpointTest, sep)

vector<string> eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 1);
EXPECT_EQ(eps.size(), (size_t)1);

EXPECT_EQ(eps[0], str);

str = "tcp -h ::1 -p 25460 -t 60000";

eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 1);
EXPECT_EQ(eps.size(), (size_t)1);

EXPECT_EQ(eps[0], str);

str = "ssl -h ::1 -p 25460 -t 60000";

eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 1);
EXPECT_EQ(eps.size(), (size_t)1);

EXPECT_EQ(eps[0], str);

str = " tcp -h ::1 -p 25460 -t 60000 ";

eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 1);
EXPECT_EQ(eps.size(), (size_t)1);

EXPECT_EQ(eps[0], TC_Common::trim(str));

str = " tcp -h ::1 -p 25460 -t 60000: ";

eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 1);
EXPECT_EQ(eps.size(), (size_t)1);

EXPECT_EQ(eps[0], TC_Common::trim("tcp -h ::1 -p 25460 -t 60000"));
}
Expand All @@ -79,7 +79,7 @@ TEST_F(UtilEndpointTest, seps)

vector<string> eps = TC_Endpoint::sepEndpoint(str);

EXPECT_EQ(eps.size(), 3);
EXPECT_EQ(eps.size(), (size_t)3);

EXPECT_EQ(eps[0], "udp -h ::1 -p 25460 -t 60000");
EXPECT_EQ(eps[1], "tcp -h 127.0.0.1 -p 25460 -t 60000");
Expand Down
3 changes: 1 addition & 2 deletions util/src/tc_port.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ void TC_Port::closeAllFileDescriptors()
#endif

#if TARGET_PLATFORM_LINUX
std::vector<std::string> getCommandLine(int64_t pid)
std::vector<std::string> TC_Port::getCommandLine(int64_t pid)
{
std::vector<std::string> commandLineArgs;

Expand Down Expand Up @@ -643,7 +643,6 @@ vector<int64_t> TC_Port::getPidsByCmdline(const string &cmdLine, bool accurateMa

return pids;
#elif TARGET_PLATFORM_LINUX
std::vector<int> pids;
DIR* dir = opendir("/proc");
if (!dir) {
return pids;
Expand Down
10 changes: 7 additions & 3 deletions util/src/tc_socket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ void TC_Socket::bind(const char *sPathName)
struct sockaddr_un stBindAddr;
memset(&stBindAddr, 0x00, sizeof(stBindAddr));
stBindAddr.sun_family = _iDomain;
strncpy(stBindAddr.sun_path, sPathName, sizeof(stBindAddr.sun_path));
strncpy(stBindAddr.sun_path, sPathName, sizeof(stBindAddr.sun_path)-1);

try
{
Expand Down Expand Up @@ -171,7 +171,7 @@ int TC_Socket::connectNoThrow(const char *sPathName)
struct sockaddr_un stServerAddr;
memset(&stServerAddr, 0x00, sizeof(stServerAddr));
stServerAddr.sun_family = _iDomain;
strncpy(stServerAddr.sun_path, sPathName, sizeof(stServerAddr.sun_path));
strncpy(stServerAddr.sun_path, sPathName, sizeof(stServerAddr.sun_path)-1);

return connect((struct sockaddr *)&stServerAddr, sizeof(stServerAddr));
}
Expand Down Expand Up @@ -417,7 +417,7 @@ void TC_Socket::parseUnixLocalAddr(const char* sPathName, struct sockaddr_un& ad
{
memset(&addr, 0x00, sizeof(addr));
addr.sun_family = AF_LOCAL;
strncpy(addr.sun_path, sPathName, sizeof(addr.sun_path));
strncpy(addr.sun_path, sPathName, sizeof(addr.sun_path)-1);
}

#endif
Expand Down Expand Up @@ -920,6 +920,10 @@ vector<string> TC_Socket::getLocalHosts(int domain, bool withLoopIp)
struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;
addr = &(ipv6->sin6_addr);
}
else
{
continue;
}

// convert IP to a string and add it to the list
inet_ntop(p->ai_family, addr, ipstr, sizeof(ipstr));
Expand Down

0 comments on commit 3f85df1

Please sign in to comment.