diff --git a/libfreerdp/core/gateway/rpc_client.c b/libfreerdp/core/gateway/rpc_client.c index b83d0cadc..f30454019 100644 --- a/libfreerdp/core/gateway/rpc_client.c +++ b/libfreerdp/core/gateway/rpc_client.c @@ -1116,7 +1116,7 @@ BOOL rpc_client_write_call(rdpRpc* rpc, wStream* s, UINT16 opnum) CopyMemory(&buffer[offset], &request_pdu.auth_verifier.auth_type, 8); offset += 8; - if (offset > UINT32_MAX) + if (offset > request_pdu.header.frag_length) goto fail; plaintext.pvBuffer = buffer; diff --git a/uwac/libuwac/uwac-clipboard.c b/uwac/libuwac/uwac-clipboard.c index 430603bc2..d22b5bcca 100644 --- a/uwac/libuwac/uwac-clipboard.c +++ b/uwac/libuwac/uwac-clipboard.c @@ -256,7 +256,7 @@ void* UwacClipboardDataGet(UwacSeat* seat, const char* mime, size_t* size) data = tmp; - if (pos > alloc) + if (pos >= alloc) goto fail; r = read(pipefd[0], &data[pos], alloc - pos); diff --git a/winpr/libwinpr/utils/ini.c b/winpr/libwinpr/utils/ini.c index 334e7b253..596a11b76 100644 --- a/winpr/libwinpr/utils/ini.c +++ b/winpr/libwinpr/utils/ini.c @@ -181,6 +181,7 @@ static BOOL IniFile_Load_File(wIniFile* ini, const char* filename) goto out_file; ini->buffer[fileSize] = '\n'; + ini->buffer[fileSize + 1] = '\0'; IniFile_Load_NextLine(ini, ini->buffer); rc = TRUE;