mirror of https://github.com/FreeRDP/FreeRDP
Replaced memset/ZeroMemory with initializer
* Addes WINPR_ASSERT on many occations * Replaced memset with array initializer * Replaced ZeroMemory with array initializer
This commit is contained in:
parent
57d2a27980
commit
43c5289928
|
@ -97,8 +97,7 @@ static UINT remdesk_write_channel_header(wStream* s, REMDESK_CHANNEL_HEADER* hea
|
|||
{
|
||||
int index;
|
||||
UINT32 ChannelNameLen;
|
||||
WCHAR ChannelNameW[32];
|
||||
ZeroMemory(ChannelNameW, sizeof(ChannelNameW));
|
||||
WCHAR ChannelNameW[32] = { 0 };
|
||||
|
||||
for (index = 0; index < 32; index++)
|
||||
{
|
||||
|
|
|
@ -102,9 +102,7 @@ static int connect_to_sshagent(const char* udspath)
|
|||
return -1;
|
||||
}
|
||||
|
||||
struct sockaddr_un addr;
|
||||
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
struct sockaddr_un addr = { 0 };
|
||||
|
||||
addr.sun_family = AF_UNIX;
|
||||
|
||||
|
|
|
@ -226,14 +226,15 @@ static void tsmf_alsa_free(ITSMFAudioDevice* audio)
|
|||
|
||||
ITSMFAudioDevice* alsa_freerdp_tsmf_client_audio_subsystem_entry(void)
|
||||
{
|
||||
TSMFAlsaAudioDevice* alsa;
|
||||
alsa = (TSMFAlsaAudioDevice*)malloc(sizeof(TSMFAlsaAudioDevice));
|
||||
ZeroMemory(alsa, sizeof(TSMFAlsaAudioDevice));
|
||||
TSMFAlsaAudioDevice* alsa = calloc(1, sizeof(TSMFAlsaAudioDevice));
|
||||
if (!alsa)
|
||||
return NULL;
|
||||
|
||||
alsa->iface.Open = tsmf_alsa_open;
|
||||
alsa->iface.SetFormat = tsmf_alsa_set_format;
|
||||
alsa->iface.Play = tsmf_alsa_play;
|
||||
alsa->iface.GetLatency = tsmf_alsa_get_latency;
|
||||
alsa->iface.Flush = tsmf_alsa_flush;
|
||||
alsa->iface.Free = tsmf_alsa_free;
|
||||
return (ITSMFAudioDevice*)alsa;
|
||||
return &alsa->iface;
|
||||
}
|
||||
|
|
|
@ -232,9 +232,10 @@ static void tsmf_oss_free(ITSMFAudioDevice* audio)
|
|||
|
||||
ITSMFAudioDevice* oss_freerdp_tsmf_client_audio_subsystem_entry(void)
|
||||
{
|
||||
TSMFOssAudioDevice* oss;
|
||||
oss = (TSMFOssAudioDevice*)malloc(sizeof(TSMFOssAudioDevice));
|
||||
ZeroMemory(oss, sizeof(TSMFOssAudioDevice));
|
||||
TSMFOssAudioDevice* oss = calloc(1, sizeof(TSMFOssAudioDevice));
|
||||
if (!oss)
|
||||
return NULL;
|
||||
|
||||
oss->iface.Open = tsmf_oss_open;
|
||||
oss->iface.SetFormat = tsmf_oss_set_format;
|
||||
oss->iface.Play = tsmf_oss_play;
|
||||
|
@ -242,5 +243,5 @@ ITSMFAudioDevice* oss_freerdp_tsmf_client_audio_subsystem_entry(void)
|
|||
oss->iface.Flush = tsmf_oss_flush;
|
||||
oss->iface.Free = tsmf_oss_free;
|
||||
oss->pcm_handle = -1;
|
||||
return (ITSMFAudioDevice*)oss;
|
||||
return &oss->iface;
|
||||
}
|
||||
|
|
|
@ -130,7 +130,7 @@ static UINT tsmf_on_data_received(IWTSVirtualChannelCallback* pChannelCallback,
|
|||
wStream* output;
|
||||
UINT error = CHANNEL_RC_OK;
|
||||
BOOL processed = FALSE;
|
||||
TSMF_IFMAN ifman;
|
||||
TSMF_IFMAN ifman = { 0 };
|
||||
UINT32 MessageId;
|
||||
UINT32 FunctionId;
|
||||
UINT32 InterfaceId;
|
||||
|
@ -154,7 +154,6 @@ static UINT tsmf_on_data_received(IWTSVirtualChannelCallback* pChannelCallback,
|
|||
DEBUG_TSMF("cbSize=%" PRIu32 " InterfaceId=0x%" PRIX32 " MessageId=0x%" PRIX32
|
||||
" FunctionId=0x%" PRIX32 "",
|
||||
cbSize, InterfaceId, MessageId, FunctionId);
|
||||
ZeroMemory(&ifman, sizeof(TSMF_IFMAN));
|
||||
ifman.channel_callback = pChannelCallback;
|
||||
ifman.decoder_name = ((TSMF_PLUGIN*)callback->plugin)->decoder_name;
|
||||
ifman.audio_name = ((TSMF_PLUGIN*)callback->plugin)->audio_name;
|
||||
|
|
|
@ -42,7 +42,7 @@ UINT android_cliprdr_send_client_format_list(CliprdrClientContext* cliprdr)
|
|||
UINT32* pFormatIds;
|
||||
const char* formatName;
|
||||
CLIPRDR_FORMAT* formats;
|
||||
CLIPRDR_FORMAT_LIST formatList;
|
||||
CLIPRDR_FORMAT_LIST formatList = { 0 };
|
||||
|
||||
if (!cliprdr)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
@ -52,7 +52,6 @@ UINT android_cliprdr_send_client_format_list(CliprdrClientContext* cliprdr)
|
|||
if (!afc || !afc->cliprdr)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
ZeroMemory(&formatList, sizeof(CLIPRDR_FORMAT_LIST));
|
||||
pFormatIds = NULL;
|
||||
numFormats = ClipboardGetFormatIds(afc->clipboard, &pFormatIds);
|
||||
formats = (CLIPRDR_FORMAT*)calloc(numFormats, sizeof(CLIPRDR_FORMAT));
|
||||
|
@ -95,7 +94,7 @@ static UINT android_cliprdr_send_client_format_data_request(CliprdrClientContext
|
|||
UINT32 formatId)
|
||||
{
|
||||
UINT rc = ERROR_INVALID_PARAMETER;
|
||||
CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest;
|
||||
CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 };
|
||||
androidContext* afc;
|
||||
|
||||
if (!cliprdr)
|
||||
|
@ -106,7 +105,6 @@ static UINT android_cliprdr_send_client_format_data_request(CliprdrClientContext
|
|||
if (!afc || !afc->clipboardRequestEvent || !cliprdr->ClientFormatDataRequest)
|
||||
goto fail;
|
||||
|
||||
ZeroMemory(&formatDataRequest, sizeof(CLIPRDR_FORMAT_DATA_REQUEST));
|
||||
formatDataRequest.common.msgType = CB_FORMAT_DATA_REQUEST;
|
||||
formatDataRequest.common.msgFlags = 0;
|
||||
formatDataRequest.requestedFormatId = formatId;
|
||||
|
@ -336,7 +334,7 @@ android_cliprdr_server_format_data_request(CliprdrClientContext* cliprdr,
|
|||
BYTE* data;
|
||||
UINT32 size;
|
||||
UINT32 formatId;
|
||||
CLIPRDR_FORMAT_DATA_RESPONSE response;
|
||||
CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 };
|
||||
androidContext* afc;
|
||||
|
||||
if (!cliprdr || !formatDataRequest || !cliprdr->ClientFormatDataResponse)
|
||||
|
@ -347,7 +345,6 @@ android_cliprdr_server_format_data_request(CliprdrClientContext* cliprdr,
|
|||
if (!afc)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
ZeroMemory(&response, sizeof(CLIPRDR_FORMAT_DATA_RESPONSE));
|
||||
formatId = formatDataRequest->requestedFormatId;
|
||||
data = (BYTE*)ClipboardGetData(afc->clipboard, formatId, &size);
|
||||
response.common.msgFlags = CB_RESPONSE_OK;
|
||||
|
|
|
@ -553,7 +553,10 @@ static void android_client_free(freerdp* instance, rdpContext* context)
|
|||
|
||||
static int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
WINPR_ASSERT(pEntryPoints);
|
||||
|
||||
ZeroMemory(pEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
|
||||
|
||||
pEntryPoints->Version = RDP_CLIENT_INTERFACE_VERSION;
|
||||
pEntryPoints->Size = sizeof(RDP_CLIENT_ENTRY_POINTS_V1);
|
||||
pEntryPoints->GlobalInit = NULL;
|
||||
|
|
|
@ -30,9 +30,10 @@ int mac_cliprdr_send_client_format_list(CliprdrClientContext *cliprdr)
|
|||
const char *formatName;
|
||||
CLIPRDR_FORMAT *formats;
|
||||
CLIPRDR_FORMAT_LIST formatList = { 0 };
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
|
||||
ZeroMemory(&formatList, sizeof(CLIPRDR_FORMAT_LIST));
|
||||
WINPR_ASSERT(cliprdr);
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
WINPR_ASSERT(mfc);
|
||||
|
||||
pFormatIds = NULL;
|
||||
numFormats = ClipboardGetFormatIds(mfc->clipboard, &pFormatIds);
|
||||
|
@ -88,10 +89,11 @@ static int mac_cliprdr_send_client_format_list_response(CliprdrClientContext *cl
|
|||
static int mac_cliprdr_send_client_format_data_request(CliprdrClientContext *cliprdr,
|
||||
UINT32 formatId)
|
||||
{
|
||||
CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest;
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 };
|
||||
WINPR_ASSERT(cliprdr);
|
||||
|
||||
ZeroMemory(&formatDataRequest, sizeof(CLIPRDR_FORMAT_DATA_REQUEST));
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
WINPR_ASSERT(mfc);
|
||||
|
||||
formatDataRequest.common.msgType = CB_FORMAT_DATA_REQUEST;
|
||||
formatDataRequest.common.msgFlags = 0;
|
||||
|
@ -287,10 +289,12 @@ mac_cliprdr_server_format_data_request(CliprdrClientContext *cliprdr,
|
|||
BYTE *data;
|
||||
UINT32 size;
|
||||
UINT32 formatId;
|
||||
CLIPRDR_FORMAT_DATA_RESPONSE response;
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 };
|
||||
|
||||
ZeroMemory(&response, sizeof(CLIPRDR_FORMAT_DATA_RESPONSE));
|
||||
WINPR_ASSERT(cliprdr);
|
||||
|
||||
mfContext *mfc = (mfContext *)cliprdr->custom;
|
||||
WINPR_ASSERT(mfc);
|
||||
|
||||
formatId = formatDataRequest->requestedFormatId;
|
||||
data = (BYTE *)ClipboardGetData(mfc->clipboard, formatId, &size);
|
||||
|
|
|
@ -148,8 +148,8 @@ void mac_set_view_size(rdpContext *context, MRDPView *view);
|
|||
|
||||
- (void)CreateContext
|
||||
{
|
||||
RDP_CLIENT_ENTRY_POINTS clientEntryPoints;
|
||||
ZeroMemory(&clientEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
|
||||
RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 };
|
||||
|
||||
clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS);
|
||||
clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION;
|
||||
RdpClientEntry(&clientEntryPoints);
|
||||
|
|
|
@ -660,6 +660,7 @@ static int wfl_client_start(rdpContext* context)
|
|||
|
||||
static int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
WINPR_ASSERT(pEntryPoints);
|
||||
ZeroMemory(pEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
|
||||
pEntryPoints->Version = RDP_CLIENT_INTERFACE_VERSION;
|
||||
pEntryPoints->Size = sizeof(RDP_CLIENT_ENTRY_POINTS_V1);
|
||||
|
|
|
@ -1237,8 +1237,6 @@ static UINT cliprdr_send_format_list(wfClipboard* clipboard)
|
|||
if (!clipboard)
|
||||
return ERROR_INTERNAL_ERROR;
|
||||
|
||||
ZeroMemory(&formatList, sizeof(CLIPRDR_FORMAT_LIST));
|
||||
|
||||
/* Ignore if other app is holding clipboard */
|
||||
if (try_open_clipboard(clipboard->hwnd))
|
||||
{
|
||||
|
@ -1518,8 +1516,8 @@ static LRESULT CALLBACK cliprdr_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM
|
|||
|
||||
static int create_cliprdr_window(wfClipboard* clipboard)
|
||||
{
|
||||
WNDCLASSEX wnd_cls;
|
||||
ZeroMemory(&wnd_cls, sizeof(WNDCLASSEX));
|
||||
WNDCLASSEX wnd_cls = { 0 };
|
||||
|
||||
wnd_cls.cbSize = sizeof(WNDCLASSEX);
|
||||
wnd_cls.style = CS_OWNDC;
|
||||
wnd_cls.lpfnWndProc = cliprdr_proc;
|
||||
|
@ -2063,18 +2061,16 @@ wf_cliprdr_server_format_data_request(CliprdrClientContext* context,
|
|||
size_t i;
|
||||
WCHAR* wFileName;
|
||||
HRESULT result;
|
||||
LPDATAOBJECT dataObj;
|
||||
FORMATETC format_etc;
|
||||
STGMEDIUM stg_medium;
|
||||
DROPFILES* dropFiles;
|
||||
LPDATAOBJECT dataObj = NULL;
|
||||
FORMATETC format_etc = { 0 };
|
||||
STGMEDIUM stg_medium = { 0 };
|
||||
DROPFILES* dropFiles = NULL;
|
||||
FILEGROUPDESCRIPTORW* groupDsc;
|
||||
result = OleGetClipboard(&dataObj);
|
||||
|
||||
if (FAILED(result))
|
||||
return ERROR_INTERNAL_ERROR;
|
||||
|
||||
ZeroMemory(&format_etc, sizeof(FORMATETC));
|
||||
ZeroMemory(&stg_medium, sizeof(STGMEDIUM));
|
||||
/* get DROPFILES struct from OLE */
|
||||
format_etc.cfFormat = CF_HDROP;
|
||||
format_etc.tymed = TYMED_HGLOBAL;
|
||||
|
@ -2248,9 +2244,9 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context,
|
|||
DWORD uSize = 0;
|
||||
BYTE* pData = NULL;
|
||||
HRESULT hRet = S_OK;
|
||||
FORMATETC vFormatEtc;
|
||||
FORMATETC vFormatEtc = { 0 };
|
||||
LPDATAOBJECT pDataObj = NULL;
|
||||
STGMEDIUM vStgMedium;
|
||||
STGMEDIUM vStgMedium = { 0 };
|
||||
BOOL bIsStreamFile = TRUE;
|
||||
static LPSTREAM pStreamStc = NULL;
|
||||
static UINT32 uStreamIdStc = 0;
|
||||
|
@ -2284,8 +2280,6 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context,
|
|||
goto error;
|
||||
}
|
||||
|
||||
ZeroMemory(&vFormatEtc, sizeof(FORMATETC));
|
||||
ZeroMemory(&vStgMedium, sizeof(STGMEDIUM));
|
||||
vFormatEtc.cfFormat = RegisterClipboardFormat(CFSTR_FILECONTENTS);
|
||||
vFormatEtc.tymed = TYMED_ISTREAM;
|
||||
vFormatEtc.dwAspect = 1;
|
||||
|
@ -2337,8 +2331,7 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context,
|
|||
{
|
||||
if (fileContentsRequest->dwFlags == FILECONTENTS_SIZE)
|
||||
{
|
||||
STATSTG vStatStg;
|
||||
ZeroMemory(&vStatStg, sizeof(STATSTG));
|
||||
STATSTG vStatStg = { 0 };
|
||||
hRet = IStream_Stat(pStreamStc, &vStatStg, STATFLAG_NONAME);
|
||||
|
||||
if (hRet == S_OK)
|
||||
|
|
|
@ -336,13 +336,12 @@ static BOOL wf_Pointer_SetPosition(rdpContext* context, UINT32 x, UINT32 y)
|
|||
BOOL wf_register_pointer(rdpGraphics* graphics)
|
||||
{
|
||||
wfContext* wfc;
|
||||
rdpPointer pointer;
|
||||
rdpPointer pointer = { 0 };
|
||||
|
||||
if (!graphics)
|
||||
return FALSE;
|
||||
|
||||
wfc = (wfContext*)graphics->context;
|
||||
ZeroMemory(&pointer, sizeof(rdpPointer));
|
||||
pointer.size = sizeof(wfPointer);
|
||||
pointer.New = wf_Pointer_New;
|
||||
pointer.Free = wf_Pointer_Free;
|
||||
|
|
|
@ -434,7 +434,7 @@ static BOOL wf_rail_window_common(rdpContext* context, const WINDOW_ORDER_INFO*
|
|||
BOOL rc;
|
||||
HANDLE hInstance;
|
||||
WCHAR* titleW = NULL;
|
||||
WNDCLASSEX wndClassEx;
|
||||
WNDCLASSEX wndClassEx = { 0 };
|
||||
railWindow = (wfRailWindow*)calloc(1, sizeof(wfRailWindow));
|
||||
|
||||
if (!railWindow)
|
||||
|
@ -486,7 +486,7 @@ static BOOL wf_rail_window_common(rdpContext* context, const WINDOW_ORDER_INFO*
|
|||
|
||||
ConvertToUnicode(CP_UTF8, 0, railWindow->title, -1, &titleW, 0);
|
||||
hInstance = GetModuleHandle(NULL);
|
||||
ZeroMemory(&wndClassEx, sizeof(WNDCLASSEX));
|
||||
|
||||
wndClassEx.cbSize = sizeof(WNDCLASSEX);
|
||||
wndClassEx.style = 0;
|
||||
wndClassEx.lpfnWndProc = wf_RailWndProc;
|
||||
|
@ -687,8 +687,8 @@ static BOOL wf_rail_window_icon(rdpContext* context, const WINDOW_ORDER_INFO* or
|
|||
int height;
|
||||
HICON hIcon;
|
||||
BOOL bigIcon;
|
||||
ICONINFO iconInfo;
|
||||
BITMAPINFO bitmapInfo;
|
||||
ICONINFO iconInfo = { 0 };
|
||||
BITMAPINFO bitmapInfo = { 0 };
|
||||
wfRailWindow* railWindow;
|
||||
BITMAPINFOHEADER* bitmapInfoHeader;
|
||||
wfContext* wfc = (wfContext*)context;
|
||||
|
@ -706,7 +706,7 @@ static BOOL wf_rail_window_icon(rdpContext* context, const WINDOW_ORDER_INFO* or
|
|||
iconInfo.fIcon = TRUE;
|
||||
iconInfo.xHotspot = 0;
|
||||
iconInfo.yHotspot = 0;
|
||||
ZeroMemory(&bitmapInfo, sizeof(BITMAPINFO));
|
||||
|
||||
bitmapInfoHeader = &(bitmapInfo.bmiHeader);
|
||||
bpp = windowIcon->iconInfo->bpp;
|
||||
width = windowIcon->iconInfo->width;
|
||||
|
|
|
@ -628,7 +628,7 @@ static char* xf_window_get_title(rdpSettings* settings)
|
|||
|
||||
BOOL xf_create_window(xfContext* xfc)
|
||||
{
|
||||
XGCValues gcv;
|
||||
XGCValues gcv = { 0 };
|
||||
XEvent xevent = { 0 };
|
||||
int width, height;
|
||||
char* windowTitle;
|
||||
|
@ -697,8 +697,6 @@ BOOL xf_create_window(xfContext* xfc)
|
|||
xfc->drawable = xf_CreateDummyWindow(xfc);
|
||||
}
|
||||
|
||||
ZeroMemory(&gcv, sizeof(gcv));
|
||||
|
||||
if (xfc->modifierMap)
|
||||
XFreeModifiermap(xfc->modifierMap);
|
||||
|
||||
|
|
|
@ -1624,8 +1624,7 @@ xf_cliprdr_server_file_contents_response(CliprdrClientContext* context,
|
|||
|
||||
ino->st_size = size;
|
||||
ino->size_set = TRUE;
|
||||
struct fuse_entry_param e;
|
||||
memset(&e, 0, sizeof(e));
|
||||
struct fuse_entry_param e = { 0 };
|
||||
e.ino = ino->ino;
|
||||
e.attr_timeout = 1.0;
|
||||
e.entry_timeout = 1.0;
|
||||
|
@ -2750,7 +2749,6 @@ static void xf_cliprdr_fuse_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,
|
|||
size_t child_ino;
|
||||
size_t direntry_len;
|
||||
char* buf;
|
||||
struct stat stbuf;
|
||||
size_t pos = 0;
|
||||
xfCliprdrFuseInode* child_node;
|
||||
xfCliprdrFuseInode* node;
|
||||
|
@ -2795,7 +2793,7 @@ static void xf_cliprdr_fuse_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,
|
|||
}
|
||||
for (index = off; index < count + 2; index++)
|
||||
{
|
||||
memset(&stbuf, 0, sizeof(stbuf));
|
||||
struct stat stbuf = { 0 };
|
||||
if (index == 0)
|
||||
{
|
||||
stbuf.st_ino = ino;
|
||||
|
@ -2905,7 +2903,7 @@ static void xf_cliprdr_fuse_lookup(fuse_req_t req, fuse_ino_t parent, const char
|
|||
size_t count;
|
||||
size_t child_ino;
|
||||
BOOL found = FALSE;
|
||||
struct fuse_entry_param e;
|
||||
struct fuse_entry_param e = { 0 };
|
||||
xfCliprdrFuseInode* parent_node;
|
||||
xfCliprdrFuseInode* child_node = NULL;
|
||||
xfClipboard* clipboard = (xfClipboard*)fuse_req_userdata(req);
|
||||
|
@ -2979,7 +2977,6 @@ static void xf_cliprdr_fuse_lookup(fuse_req_t req, fuse_ino_t parent, const char
|
|||
0);
|
||||
return;
|
||||
}
|
||||
memset(&e, 0, sizeof(e));
|
||||
e.ino = ino;
|
||||
e.attr_timeout = 1.0;
|
||||
e.entry_timeout = 1.0;
|
||||
|
|
|
@ -525,9 +525,9 @@ static BOOL xf_Pointer_SetNull(rdpContext* context)
|
|||
|
||||
if (nullcursor == None)
|
||||
{
|
||||
XcursorImage ci;
|
||||
XcursorImage ci = { 0 };
|
||||
XcursorPixel xp = 0;
|
||||
ZeroMemory(&ci, sizeof(ci));
|
||||
|
||||
ci.version = XCURSOR_IMAGE_VERSION;
|
||||
ci.size = sizeof(ci);
|
||||
ci.width = ci.height = 1;
|
||||
|
|
|
@ -549,11 +549,10 @@ static void xf_input_hide_cursor(xfContext* xfc)
|
|||
|
||||
if (!xfc->cursorHidden)
|
||||
{
|
||||
XcursorImage ci;
|
||||
XcursorImage ci = { 0 };
|
||||
XcursorPixel xp = 0;
|
||||
static Cursor nullcursor = None;
|
||||
xf_lock_x11(xfc);
|
||||
ZeroMemory(&ci, sizeof(ci));
|
||||
ci.version = XCURSOR_IMAGE_VERSION;
|
||||
ci.size = sizeof(ci);
|
||||
ci.width = ci.height = 1;
|
||||
|
|
|
@ -57,7 +57,7 @@ static BOOL xf_sync_kbd_state(xfContext* xfc)
|
|||
static void xf_keyboard_clear(xfContext* xfc)
|
||||
{
|
||||
WINPR_ASSERT(xfc);
|
||||
ZeroMemory(xfc->KeyboardState, 256 * sizeof(BOOL));
|
||||
ZeroMemory(xfc->KeyboardState, sizeof(xfc->KeyboardState));
|
||||
}
|
||||
|
||||
static BOOL xf_keyboard_action_script_init(xfContext* xfc)
|
||||
|
|
|
@ -785,7 +785,7 @@ int xf_AppWindowInit(xfContext* xfc, xfAppWindow* appWindow)
|
|||
|
||||
int xf_AppWindowCreate(xfContext* xfc, xfAppWindow* appWindow)
|
||||
{
|
||||
XGCValues gcv;
|
||||
XGCValues gcv = { 0 };
|
||||
int input_mask;
|
||||
XWMHints* InputModeHint;
|
||||
XClassHint* class_hints;
|
||||
|
@ -817,7 +817,6 @@ int xf_AppWindowCreate(xfContext* xfc, xfAppWindow* appWindow)
|
|||
if (!appWindow->handle)
|
||||
return -1;
|
||||
|
||||
ZeroMemory(&gcv, sizeof(gcv));
|
||||
appWindow->gc = XCreateGC(xfc->display, appWindow->handle, GCGraphicsExposures, &gcv);
|
||||
class_hints = XAllocClassHint();
|
||||
|
||||
|
|
|
@ -356,6 +356,8 @@ static void ios_client_free(freerdp *instance, rdpContext *context)
|
|||
|
||||
static int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS *pEntryPoints)
|
||||
{
|
||||
WINPR_ASSERT(pEntryPoints);
|
||||
|
||||
ZeroMemory(pEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
|
||||
pEntryPoints->Version = RDP_CLIENT_INTERFACE_VERSION;
|
||||
pEntryPoints->Size = sizeof(RDP_CLIENT_ENTRY_POINTS_V1);
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include <winpr/crt.h>
|
||||
#include <winpr/stream.h>
|
||||
#include <winpr/assert.h>
|
||||
|
||||
#include <freerdp/freerdp.h>
|
||||
#include <freerdp/constants.h>
|
||||
|
@ -43,18 +44,23 @@ struct rdp_persistent_cache
|
|||
|
||||
int persistent_cache_get_version(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
return persistent->version;
|
||||
}
|
||||
|
||||
int persistent_cache_get_count(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
return persistent->count;
|
||||
}
|
||||
|
||||
static int persistent_cache_read_entry_v2(rdpPersistentCache* persistent,
|
||||
PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry2;
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry2 = { 0 };
|
||||
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
|
||||
if (fread((void*)&entry2, sizeof(entry2), 1, persistent->fp) != 1)
|
||||
return -1;
|
||||
|
@ -77,8 +83,10 @@ static int persistent_cache_write_entry_v2(rdpPersistentCache* persistent,
|
|||
const PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
int padding;
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry2;
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry2 = { 0 };
|
||||
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
entry2.key64 = entry->key64;
|
||||
entry2.width = entry->width;
|
||||
entry2.height = entry->height;
|
||||
|
@ -109,9 +117,10 @@ static int persistent_cache_write_entry_v2(rdpPersistentCache* persistent,
|
|||
|
||||
static int persistent_cache_read_v2(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
while (1)
|
||||
{
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry;
|
||||
PERSISTENT_CACHE_ENTRY_V2 entry = { 0 };
|
||||
|
||||
if (fread((void*)&entry, sizeof(entry), 1, persistent->fp) != 1)
|
||||
break;
|
||||
|
@ -128,7 +137,10 @@ static int persistent_cache_read_v2(rdpPersistentCache* persistent)
|
|||
static int persistent_cache_read_entry_v3(rdpPersistentCache* persistent,
|
||||
PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry3;
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry3 = { 0 };
|
||||
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
|
||||
if (fread((void*)&entry3, sizeof(entry3), 1, persistent->fp) != 1)
|
||||
return -1;
|
||||
|
@ -166,7 +178,10 @@ static int persistent_cache_read_entry_v3(rdpPersistentCache* persistent,
|
|||
static int persistent_cache_write_entry_v3(rdpPersistentCache* persistent,
|
||||
const PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry3;
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry3 = { 0 };
|
||||
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
|
||||
entry3.key64 = entry->key64;
|
||||
entry3.width = entry->width;
|
||||
|
@ -185,9 +200,10 @@ static int persistent_cache_write_entry_v3(rdpPersistentCache* persistent,
|
|||
|
||||
static int persistent_cache_read_v3(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
while (1)
|
||||
{
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry;
|
||||
PERSISTENT_CACHE_ENTRY_V3 entry = { 0 };
|
||||
|
||||
if (fread((void*)&entry, sizeof(entry), 1, persistent->fp) != 1)
|
||||
break;
|
||||
|
@ -203,6 +219,9 @@ static int persistent_cache_read_v3(rdpPersistentCache* persistent)
|
|||
|
||||
int persistent_cache_read_entry(rdpPersistentCache* persistent, PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
|
||||
if (persistent->version == 3)
|
||||
return persistent_cache_read_entry_v3(persistent, entry);
|
||||
else if (persistent->version == 2)
|
||||
|
@ -214,6 +233,9 @@ int persistent_cache_read_entry(rdpPersistentCache* persistent, PERSISTENT_CACHE
|
|||
int persistent_cache_write_entry(rdpPersistentCache* persistent,
|
||||
const PERSISTENT_CACHE_ENTRY* entry)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(entry);
|
||||
|
||||
if (persistent->version == 3)
|
||||
return persistent_cache_write_entry_v3(persistent, entry);
|
||||
else if (persistent->version == 2)
|
||||
|
@ -224,10 +246,11 @@ int persistent_cache_write_entry(rdpPersistentCache* persistent,
|
|||
|
||||
static int persistent_cache_open_read(rdpPersistentCache* persistent)
|
||||
{
|
||||
BYTE sig[8];
|
||||
BYTE sig[8] = { 0 };
|
||||
int status = 1;
|
||||
long offset;
|
||||
|
||||
WINPR_ASSERT(persistent);
|
||||
persistent->fp = fopen(persistent->filename, "rb");
|
||||
|
||||
if (!persistent->fp)
|
||||
|
@ -266,6 +289,7 @@ static int persistent_cache_open_read(rdpPersistentCache* persistent)
|
|||
|
||||
static int persistent_cache_open_write(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
|
||||
persistent->fp = fopen(persistent->filename, "w+b");
|
||||
|
||||
|
@ -274,7 +298,7 @@ static int persistent_cache_open_write(rdpPersistentCache* persistent)
|
|||
|
||||
if (persistent->version == 3)
|
||||
{
|
||||
PERSISTENT_CACHE_HEADER_V3 header;
|
||||
PERSISTENT_CACHE_HEADER_V3 header = { 0 };
|
||||
strncpy((char*)header.sig, "RDP8bmp", 8);
|
||||
header.flags = 0x00000006;
|
||||
|
||||
|
@ -290,6 +314,8 @@ static int persistent_cache_open_write(rdpPersistentCache* persistent)
|
|||
int persistent_cache_open(rdpPersistentCache* persistent, const char* filename, BOOL write,
|
||||
UINT32 version)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
WINPR_ASSERT(filename);
|
||||
persistent->write = write;
|
||||
|
||||
persistent->filename = _strdup(filename);
|
||||
|
@ -308,6 +334,7 @@ int persistent_cache_open(rdpPersistentCache* persistent, const char* filename,
|
|||
|
||||
int persistent_cache_close(rdpPersistentCache* persistent)
|
||||
{
|
||||
WINPR_ASSERT(persistent);
|
||||
if (persistent->fp)
|
||||
{
|
||||
fclose(persistent->fp);
|
||||
|
@ -319,15 +346,13 @@ int persistent_cache_close(rdpPersistentCache* persistent)
|
|||
|
||||
rdpPersistentCache* persistent_cache_new(void)
|
||||
{
|
||||
rdpPersistentCache* persistent;
|
||||
|
||||
persistent = (rdpPersistentCache*)calloc(1, sizeof(rdpPersistentCache));
|
||||
rdpPersistentCache* persistent = calloc(1, sizeof(rdpPersistentCache));
|
||||
|
||||
if (!persistent)
|
||||
return NULL;
|
||||
|
||||
persistent->bmpSize = 0x4000;
|
||||
persistent->bmpData = (BYTE*)malloc(persistent->bmpSize);
|
||||
persistent->bmpData = calloc(1, persistent->bmpSize);
|
||||
|
||||
if (!persistent->bmpData)
|
||||
return NULL;
|
||||
|
|
|
@ -159,6 +159,9 @@ static void fill_gdi_palette_for_icon(const BYTE* colorTable, UINT16 cbColorTabl
|
|||
gdiPalette* palette)
|
||||
{
|
||||
UINT16 i;
|
||||
|
||||
WINPR_ASSERT(palette);
|
||||
|
||||
palette->format = PIXEL_FORMAT_BGRX32;
|
||||
ZeroMemory(palette->palette, sizeof(palette->palette));
|
||||
|
||||
|
|
|
@ -493,7 +493,6 @@ static BOOL openh264_init(H264_CONTEXT* h264)
|
|||
#endif
|
||||
UINT32 x;
|
||||
long status;
|
||||
SDecodingParam sDecParam = { 0 };
|
||||
H264_CONTEXT_OPENH264* sysContexts;
|
||||
static int traceLevel = WELS_LOG_DEBUG;
|
||||
#if (OPENH264_MAJOR == 1) && (OPENH264_MINOR <= 5)
|
||||
|
@ -535,6 +534,7 @@ static BOOL openh264_init(H264_CONTEXT* h264)
|
|||
|
||||
for (x = 0; x < h264->numSystemData; x++)
|
||||
{
|
||||
SDecodingParam sDecParam = { 0 };
|
||||
H264_CONTEXT_OPENH264* sys = &sysContexts[x];
|
||||
|
||||
if (h264->Compressor)
|
||||
|
@ -557,7 +557,6 @@ static BOOL openh264_init(H264_CONTEXT* h264)
|
|||
goto EXCEPTION;
|
||||
}
|
||||
|
||||
ZeroMemory(&sDecParam, sizeof(sDecParam));
|
||||
#if (OPENH264_MAJOR == 1) && (OPENH264_MINOR <= 5)
|
||||
sDecParam.eOutputColorFormat = videoFormatI420;
|
||||
#endif
|
||||
|
|
|
@ -73,17 +73,15 @@ static void my_term_source(j_decompress_ptr cinfo)
|
|||
static int do_decompress(char* comp_data, int comp_data_bytes, int* width, int* height, int* bpp,
|
||||
char* decomp_data, int* decomp_data_bytes)
|
||||
{
|
||||
struct jpeg_decompress_struct cinfo;
|
||||
struct jpeg_decompress_struct cinfo = { 0 };
|
||||
struct jpeg_error_mgr jerr;
|
||||
struct jpeg_source_mgr src_mgr;
|
||||
struct mydata_decomp md;
|
||||
JSAMPROW row_pointer[1];
|
||||
struct jpeg_source_mgr src_mgr = { 0 };
|
||||
struct mydata_decomp md = { 0 };
|
||||
JSAMPROW row_pointer[1] = { 0 };
|
||||
|
||||
memset(&cinfo, 0, sizeof(cinfo));
|
||||
cinfo.err = jpeg_std_error(&jerr);
|
||||
jpeg_create_decompress(&cinfo);
|
||||
|
||||
memset(&src_mgr, 0, sizeof(src_mgr));
|
||||
cinfo.src = &src_mgr;
|
||||
src_mgr.init_source = my_init_source;
|
||||
src_mgr.fill_input_buffer = my_fill_input_buffer;
|
||||
|
@ -91,7 +89,6 @@ static int do_decompress(char* comp_data, int comp_data_bytes, int* width, int*
|
|||
src_mgr.resync_to_restart = my_resync_to_restart;
|
||||
src_mgr.term_source = my_term_source;
|
||||
|
||||
memset(&md, 0, sizeof(md));
|
||||
md.data = comp_data;
|
||||
md.data_bytes = comp_data_bytes;
|
||||
cinfo.client_data = &md;
|
||||
|
|
|
@ -273,8 +273,8 @@ RFX_CONTEXT* rfx_context_new_ex(BOOL encoder, UINT32 ThreadingFlags)
|
|||
#ifdef _WIN32
|
||||
{
|
||||
BOOL isVistaOrLater;
|
||||
OSVERSIONINFOA verinfo;
|
||||
ZeroMemory(&verinfo, sizeof(OSVERSIONINFOA));
|
||||
OSVERSIONINFOA verinfo = { 0 };
|
||||
|
||||
verinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
|
||||
GetVersionExA(&verinfo);
|
||||
isVistaOrLater =
|
||||
|
|
|
@ -920,14 +920,12 @@ static int test_progressive_ms_sample(char* ms_sample_path)
|
|||
int i, j, k;
|
||||
int count;
|
||||
int status;
|
||||
EGFX_SAMPLE_FILE files[3][4][4];
|
||||
EGFX_SAMPLE_FILE bitmaps[3][4][4];
|
||||
EGFX_SAMPLE_FILE files[3][4][4] = { 0 };
|
||||
EGFX_SAMPLE_FILE bitmaps[3][4][4] = { 0 };
|
||||
PROGRESSIVE_CONTEXT* progressive;
|
||||
g_Width = 1920;
|
||||
g_Height = 1080;
|
||||
g_DstStep = g_Width * 4;
|
||||
ZeroMemory(files, sizeof(files));
|
||||
ZeroMemory(bitmaps, sizeof(bitmaps));
|
||||
status = test_progressive_load_files(ms_sample_path, files);
|
||||
|
||||
if (status < 0)
|
||||
|
|
|
@ -506,16 +506,14 @@ static int xcrush_find_all_matches(XCRUSH_CONTEXT* xcrush, UINT32 SignatureIndex
|
|||
UINT32 i = 0;
|
||||
UINT32 j = 0;
|
||||
int status = 0;
|
||||
UINT32 offset = 0;
|
||||
UINT32 ChunkIndex = 0;
|
||||
UINT32 ChunkCount = 0;
|
||||
XCRUSH_CHUNK* chunk = NULL;
|
||||
UINT32 MatchLength = 0;
|
||||
UINT32 MaxMatchLength = 0;
|
||||
UINT32 PrevMatchEnd = 0;
|
||||
XCRUSH_MATCH_INFO MatchInfo = { 0 };
|
||||
XCRUSH_MATCH_INFO MaxMatchInfo = { 0 };
|
||||
XCRUSH_SIGNATURE* Signatures = NULL;
|
||||
XCRUSH_MATCH_INFO MaxMatchInfo = { 0 };
|
||||
|
||||
WINPR_ASSERT(xcrush);
|
||||
|
||||
|
@ -523,7 +521,8 @@ static int xcrush_find_all_matches(XCRUSH_CONTEXT* xcrush, UINT32 SignatureIndex
|
|||
|
||||
for (i = 0; i < SignatureIndex; i++)
|
||||
{
|
||||
offset = SrcOffset + HistoryOffset;
|
||||
XCRUSH_MATCH_INFO MatchInfo = { 0 };
|
||||
UINT32 offset = SrcOffset + HistoryOffset;
|
||||
|
||||
if (!Signatures[i].size)
|
||||
return -1001; /* error */
|
||||
|
@ -537,7 +536,6 @@ static int xcrush_find_all_matches(XCRUSH_CONTEXT* xcrush, UINT32 SignatureIndex
|
|||
{
|
||||
ChunkCount = 0;
|
||||
MaxMatchLength = 0;
|
||||
ZeroMemory(&MaxMatchInfo, sizeof(XCRUSH_MATCH_INFO));
|
||||
|
||||
while (chunk)
|
||||
{
|
||||
|
|
|
@ -633,9 +633,9 @@ static BOOL freerdp_assistance_decrypt2(rdpAssistanceFile* file, const char* pas
|
|||
BYTE* pbIn = NULL;
|
||||
BYTE* pbOut = NULL;
|
||||
size_t cbOut, cbIn, cbFinal;
|
||||
BYTE DerivedKey[WINPR_AES_BLOCK_SIZE];
|
||||
BYTE InitializationVector[WINPR_AES_BLOCK_SIZE];
|
||||
BYTE PasswordHash[WINPR_SHA1_DIGEST_LENGTH];
|
||||
BYTE DerivedKey[WINPR_AES_BLOCK_SIZE] = { 0 };
|
||||
BYTE InitializationVector[WINPR_AES_BLOCK_SIZE] = { 0 };
|
||||
BYTE PasswordHash[WINPR_SHA1_DIGEST_LENGTH] = { 0 };
|
||||
|
||||
if (!file || !password)
|
||||
return FALSE;
|
||||
|
@ -658,7 +658,6 @@ static BOOL freerdp_assistance_decrypt2(rdpAssistanceFile* file, const char* pas
|
|||
sizeof(DerivedKey)))
|
||||
goto fail;
|
||||
|
||||
ZeroMemory(InitializationVector, sizeof(InitializationVector));
|
||||
aesDec =
|
||||
winpr_Cipher_New(WINPR_CIPHER_AES_128_CBC, WINPR_DECRYPT, DerivedKey, InitializationVector);
|
||||
|
||||
|
|
|
@ -124,6 +124,7 @@ BOOL credssp_auth_setup_auth_data(rdpCredsspAuth* auth, const SEC_WINNT_AUTH_IDE
|
|||
{
|
||||
SEC_WINNT_AUTH_IDENTITY_EXW* identityEx;
|
||||
|
||||
WINPR_ASSERT(pAuthData);
|
||||
ZeroMemory(pAuthData, sizeof(SEC_WINNT_AUTH_IDENTITY_WINPR));
|
||||
|
||||
identityEx = &pAuthData->identity;
|
||||
|
|
|
@ -146,11 +146,15 @@ static char* rdp_info_package_flags_description(UINT32 flags)
|
|||
|
||||
static BOOL rdp_compute_client_auto_reconnect_cookie(rdpRdp* rdp)
|
||||
{
|
||||
BYTE ClientRandom[32];
|
||||
BYTE AutoReconnectRandom[32];
|
||||
BYTE ClientRandom[32] = { 0 };
|
||||
BYTE AutoReconnectRandom[32] = { 0 };
|
||||
ARC_SC_PRIVATE_PACKET* serverCookie;
|
||||
ARC_CS_PRIVATE_PACKET* clientCookie;
|
||||
|
||||
WINPR_ASSERT(rdp);
|
||||
rdpSettings* settings = rdp->settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
serverCookie = settings->ServerAutoReconnectCookie;
|
||||
clientCookie = settings->ClientAutoReconnectCookie;
|
||||
clientCookie->cbLen = 28;
|
||||
|
@ -1297,8 +1301,8 @@ BOOL rdp_recv_save_session_info(rdpRdp* rdp, wStream* s)
|
|||
{
|
||||
UINT32 infoType;
|
||||
BOOL status;
|
||||
logon_info logonInfo;
|
||||
logon_info_ex logonInfoEx;
|
||||
logon_info logonInfo = { 0 };
|
||||
logon_info_ex logonInfoEx = { 0 };
|
||||
rdpContext* context = rdp->context;
|
||||
rdpUpdate* update = rdp->context->update;
|
||||
|
||||
|
@ -1310,7 +1314,6 @@ BOOL rdp_recv_save_session_info(rdpRdp* rdp, wStream* s)
|
|||
switch (infoType)
|
||||
{
|
||||
case INFO_TYPE_LOGON:
|
||||
ZeroMemory(&logonInfo, sizeof(logonInfo));
|
||||
status = rdp_recv_logon_info_v1(rdp, s, &logonInfo);
|
||||
|
||||
if (status && update->SaveSessionInfo)
|
||||
|
@ -1321,7 +1324,6 @@ BOOL rdp_recv_save_session_info(rdpRdp* rdp, wStream* s)
|
|||
break;
|
||||
|
||||
case INFO_TYPE_LOGON_LONG:
|
||||
ZeroMemory(&logonInfo, sizeof(logonInfo));
|
||||
status = rdp_recv_logon_info_v2(rdp, s, &logonInfo);
|
||||
|
||||
if (status && update->SaveSessionInfo)
|
||||
|
@ -1340,7 +1342,6 @@ BOOL rdp_recv_save_session_info(rdpRdp* rdp, wStream* s)
|
|||
break;
|
||||
|
||||
case INFO_TYPE_LOGON_EXTENDED_INF:
|
||||
ZeroMemory(&logonInfoEx, sizeof(logonInfoEx));
|
||||
status = rdp_recv_logon_info_extended(rdp, s, &logonInfoEx);
|
||||
|
||||
if (status && update->SaveSessionInfo)
|
||||
|
|
|
@ -610,13 +610,12 @@ BOOL license_generate_hwid(rdpLicense* license)
|
|||
{
|
||||
const BYTE* hashTarget;
|
||||
size_t targetLen;
|
||||
BYTE macAddress[6];
|
||||
BYTE macAddress[6] = { 0 };
|
||||
|
||||
ZeroMemory(license->HardwareId, HWID_LENGTH);
|
||||
|
||||
if (license->rdp->settings->OldLicenseBehaviour)
|
||||
{
|
||||
ZeroMemory(macAddress, sizeof(macAddress));
|
||||
hashTarget = macAddress;
|
||||
targetLen = sizeof(macAddress);
|
||||
}
|
||||
|
|
|
@ -220,8 +220,8 @@ static int testSuccess(int port)
|
|||
{
|
||||
int r;
|
||||
int rc = -2;
|
||||
STARTUPINFOA si;
|
||||
PROCESS_INFORMATION process;
|
||||
STARTUPINFOA si = { 0 };
|
||||
PROCESS_INFORMATION process = { 0 };
|
||||
char arg1[] = "/v:127.0.0.1:XXXXX";
|
||||
char* clientArgs[] = { "test", "/v:127.0.0.1:XXXXX", "/cert-ignore", "/rfx", NULL };
|
||||
char* commandLine = NULL;
|
||||
|
@ -266,7 +266,6 @@ static int testSuccess(int port)
|
|||
goto fail;
|
||||
|
||||
_snprintf(commandLine, commandLineLen, "%s --port=%d", exe, port);
|
||||
memset(&si, 0, sizeof(si));
|
||||
si.cb = sizeof(si);
|
||||
|
||||
if (!CreateProcessA(NULL, commandLine, NULL, NULL, FALSE, 0, NULL, wpath, &si, &process))
|
||||
|
|
|
@ -260,10 +260,10 @@ static int freerdp_keyboard_init_apple(DWORD* keyboardLayoutId,
|
|||
{
|
||||
DWORD vkcode;
|
||||
DWORD keycode;
|
||||
DWORD keycode_to_vkcode[256];
|
||||
|
||||
ZeroMemory(keycode_to_vkcode, sizeof(keycode_to_vkcode));
|
||||
DWORD keycode_to_vkcode[256] = { 0 };
|
||||
|
||||
WINPR_ASSERT(x11_keycode_to_rdp_scancode);
|
||||
WINPR_ASSERT(keyboardLayoutId);
|
||||
for (keycode = 0; keycode < 256; keycode++)
|
||||
{
|
||||
vkcode = keycode_to_vkcode[keycode] =
|
||||
|
@ -279,10 +279,10 @@ static int freerdp_keyboard_init_x11_evdev(DWORD* keyboardLayoutId,
|
|||
{
|
||||
DWORD vkcode;
|
||||
DWORD keycode;
|
||||
DWORD keycode_to_vkcode[256];
|
||||
|
||||
ZeroMemory(keycode_to_vkcode, sizeof(keycode_to_vkcode));
|
||||
DWORD keycode_to_vkcode[256] = { 0 };
|
||||
|
||||
WINPR_ASSERT(keyboardLayoutId);
|
||||
WINPR_ASSERT(x11_keycode_to_rdp_scancode);
|
||||
for (keycode = 0; keycode < 256; keycode++)
|
||||
{
|
||||
vkcode = keycode_to_vkcode[keycode] =
|
||||
|
|
|
@ -332,6 +332,8 @@ int freerdp_keyboard_init_xkbfile(DWORD* keyboardLayoutId, DWORD x11_keycode_to_
|
|||
{
|
||||
void* display;
|
||||
|
||||
WINPR_ASSERT(keyboardLayoutId);
|
||||
WINPR_ASSERT(x11_keycode_to_rdp_scancode);
|
||||
ZeroMemory(x11_keycode_to_rdp_scancode, sizeof(DWORD) * 256);
|
||||
|
||||
display = freerdp_keyboard_xkb_init();
|
||||
|
|
|
@ -23,15 +23,13 @@ static BOOL test_add16s_func(void)
|
|||
{
|
||||
pstatus_t status;
|
||||
|
||||
INT16 ALIGN(src1[FUNC_TEST_SIZE + 3]), ALIGN(src2[FUNC_TEST_SIZE + 3]),
|
||||
ALIGN(d1[FUNC_TEST_SIZE + 3]), ALIGN(d2[FUNC_TEST_SIZE + 3]);
|
||||
INT16 ALIGN(src1[FUNC_TEST_SIZE + 3]) = { 0 }, ALIGN(src2[FUNC_TEST_SIZE + 3]) = { 0 },
|
||||
ALIGN(d1[FUNC_TEST_SIZE + 3]) = { 0 },
|
||||
ALIGN(d2[FUNC_TEST_SIZE + 3]) = { 0 };
|
||||
|
||||
char testStr[256];
|
||||
testStr[0] = '\0';
|
||||
char testStr[256] = { 0 };
|
||||
winpr_RAND((BYTE*)src1, sizeof(src1));
|
||||
winpr_RAND((BYTE*)src2, sizeof(src2));
|
||||
memset(d1, 0, sizeof(d1));
|
||||
memset(d2, 0, sizeof(d2));
|
||||
status = generic->add_16s(src1 + 1, src2 + 1, d1 + 1, FUNC_TEST_SIZE);
|
||||
if (status != PRIMITIVES_SUCCESS)
|
||||
return FALSE;
|
||||
|
|
|
@ -134,7 +134,6 @@ static BOOL test_alphaComp_func(void)
|
|||
for (i = 0; i < sizeof(src2) / 4; ++i)
|
||||
*ptr++ |= 0xFF000000U;
|
||||
|
||||
memset(dst1, 0, sizeof(dst1));
|
||||
status = generic->alphaComp_argb(src1, 4 * SRC1_WIDTH, src2, 4 * SRC2_WIDTH, dst1,
|
||||
4 * DST_WIDTH, TEST_WIDTH, TEST_HEIGHT);
|
||||
|
||||
|
@ -164,7 +163,7 @@ static int test_alphaComp_speed(void)
|
|||
BYTE ALIGN(src1[SRC1_WIDTH * SRC1_HEIGHT]) = { 0 };
|
||||
BYTE ALIGN(src2[SRC2_WIDTH * SRC2_HEIGHT]) = { 0 };
|
||||
BYTE ALIGN(dst1[DST_WIDTH * DST_HEIGHT]) = { 0 };
|
||||
char testStr[256];
|
||||
char testStr[256] = { 0 };
|
||||
UINT32* ptr;
|
||||
UINT32 i;
|
||||
testStr[0] = '\0';
|
||||
|
@ -179,8 +178,6 @@ static int test_alphaComp_speed(void)
|
|||
for (i = 0; i < sizeof(src2) / 4; ++i)
|
||||
*ptr++ |= 0xFF000000U;
|
||||
|
||||
memset(dst1, 0, sizeof(dst1));
|
||||
|
||||
if (!speed_test("add16s", "aligned", g_Iterations, (speed_test_fkt)generic->alphaComp_argb,
|
||||
(speed_test_fkt)optimized->alphaComp_argb, src1, 4 * SRC1_WIDTH, src2,
|
||||
4 * SRC2_WIDTH, dst1, 4 * DST_WIDTH, TEST_WIDTH, TEST_HEIGHT))
|
||||
|
|
|
@ -163,9 +163,9 @@ static BOOL test_RGBToRGB_16s8u_P3AC4R_speed(void)
|
|||
static BOOL test_yCbCrToRGB_16s16s_P3P3_func(void)
|
||||
{
|
||||
pstatus_t status;
|
||||
INT16 ALIGN(y[4096]), ALIGN(cb[4096]), ALIGN(cr[4096]);
|
||||
INT16 ALIGN(r1[4096]), ALIGN(g1[4096]), ALIGN(b1[4096]);
|
||||
INT16 ALIGN(r2[4096]), ALIGN(g2[4096]), ALIGN(b2[4096]);
|
||||
INT16 ALIGN(y[4096]) = { 0 }, ALIGN(cb[4096]) = { 0 }, ALIGN(cr[4096]) = { 0 };
|
||||
INT16 ALIGN(r1[4096]) = { 0 }, ALIGN(g1[4096]) = { 0 }, ALIGN(b1[4096]) = { 0 };
|
||||
INT16 ALIGN(r2[4096]) = { 0 }, ALIGN(g2[4096]) = { 0 }, ALIGN(b2[4096]) = { 0 };
|
||||
int i;
|
||||
const INT16* in[3];
|
||||
INT16* out1[3];
|
||||
|
@ -183,12 +183,6 @@ static BOOL test_yCbCrToRGB_16s16s_P3P3_func(void)
|
|||
cr[i] &= 0x1FE0U;
|
||||
}
|
||||
|
||||
memset(r1, 0, sizeof(r1));
|
||||
memset(g1, 0, sizeof(g1));
|
||||
memset(b1, 0, sizeof(b1));
|
||||
memset(r2, 0, sizeof(r2));
|
||||
memset(g2, 0, sizeof(g2));
|
||||
memset(b2, 0, sizeof(b2));
|
||||
in[0] = y;
|
||||
in[1] = cb;
|
||||
in[2] = cr;
|
||||
|
|
|
@ -25,7 +25,6 @@ static BOOL test_copy8u_func(void)
|
|||
primitives_t* prims = primitives_get();
|
||||
BYTE ALIGN(data[COPY_TESTSIZE + 15]) = { 0 };
|
||||
int i, soff;
|
||||
BYTE ALIGN(dest[COPY_TESTSIZE + 15]) = { 0 };
|
||||
winpr_RAND(data, sizeof(data));
|
||||
|
||||
for (soff = 0; soff < 16; ++soff)
|
||||
|
@ -38,7 +37,7 @@ static BOOL test_copy8u_func(void)
|
|||
|
||||
for (length = 1; length <= COPY_TESTSIZE - doff; ++length)
|
||||
{
|
||||
memset(dest, 0, sizeof(dest));
|
||||
BYTE ALIGN(dest[COPY_TESTSIZE + 15]) = { 0 };
|
||||
|
||||
if (prims->copy_8u(data + soff, dest + doff, length) != PRIMITIVES_SUCCESS)
|
||||
return FALSE;
|
||||
|
|
|
@ -40,13 +40,13 @@ static BOOL test_set8u_func(void)
|
|||
{
|
||||
pstatus_t status;
|
||||
UINT32 off;
|
||||
BYTE dest[1024];
|
||||
|
||||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 3, sizeof(dest));
|
||||
BYTE dest[1024];
|
||||
|
||||
memset(dest, 3, sizeof(dest));
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
status = generic->set_8u(0xa5, dest + off, len);
|
||||
|
@ -62,8 +62,9 @@ static BOOL test_set8u_func(void)
|
|||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 3, sizeof(dest));
|
||||
BYTE dest[1024];
|
||||
|
||||
memset(dest, 3, sizeof(dest));
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
status = optimized->set_8u(0xa5, dest + off, len);
|
||||
|
@ -121,13 +122,12 @@ static BOOL test_set32s_func(void)
|
|||
{
|
||||
pstatus_t status;
|
||||
UINT32 off;
|
||||
INT32 dest[1024];
|
||||
const INT32 value = -0x12345678;
|
||||
|
||||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 0, sizeof(dest));
|
||||
INT32 dest[1024] = { 0 };
|
||||
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
|
@ -144,7 +144,7 @@ static BOOL test_set32s_func(void)
|
|||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 0, sizeof(dest));
|
||||
INT32 dest[1024] = { 0 };
|
||||
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
|
@ -184,13 +184,12 @@ static BOOL test_set32u_func(void)
|
|||
{
|
||||
pstatus_t status;
|
||||
UINT32 off;
|
||||
UINT32 dest[1024];
|
||||
const UINT32 value = 0xABCDEF12;
|
||||
|
||||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 0, sizeof(dest));
|
||||
UINT32 dest[1024] = { 0 };
|
||||
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
|
@ -207,7 +206,7 @@ static BOOL test_set32u_func(void)
|
|||
for (off = 0; off < 16; ++off)
|
||||
{
|
||||
UINT32 len;
|
||||
memset(dest, 0, sizeof(dest));
|
||||
UINT32 dest[1024] = { 0 };
|
||||
|
||||
for (len = 1; len < 48 - off; ++len)
|
||||
{
|
||||
|
|
|
@ -27,8 +27,6 @@ static BOOL test_sign16s_func(void)
|
|||
INT16 ALIGN(d1[TEST_BUFFER_SIZE + 16]) = { 0 };
|
||||
INT16 ALIGN(d2[TEST_BUFFER_SIZE + 16]) = { 0 };
|
||||
winpr_RAND((BYTE*)src, sizeof(src));
|
||||
memset(d1, 0, sizeof(d1));
|
||||
memset(d2, 0, sizeof(d2));
|
||||
status = generic->sign_16s(src + 1, d1 + 1, TEST_BUFFER_SIZE);
|
||||
|
||||
if (status != PRIMITIVES_SUCCESS)
|
||||
|
|
|
@ -1607,6 +1607,7 @@ SCARDCONTEXT smartcard_scard_context_native_from_redir(REDIR_SCARDCONTEXT* conte
|
|||
|
||||
void smartcard_scard_context_native_to_redir(REDIR_SCARDCONTEXT* context, SCARDCONTEXT hContext)
|
||||
{
|
||||
WINPR_ASSERT(context);
|
||||
ZeroMemory(context, sizeof(REDIR_SCARDCONTEXT));
|
||||
context->cbContext = sizeof(ULONG_PTR);
|
||||
CopyMemory(&(context->pbContext), &hContext, context->cbContext);
|
||||
|
@ -1636,6 +1637,7 @@ SCARDHANDLE smartcard_scard_handle_native_from_redir(REDIR_SCARDHANDLE* handle)
|
|||
|
||||
void smartcard_scard_handle_native_to_redir(REDIR_SCARDHANDLE* handle, SCARDHANDLE hCard)
|
||||
{
|
||||
WINPR_ASSERT(handle);
|
||||
ZeroMemory(handle, sizeof(REDIR_SCARDHANDLE));
|
||||
handle->cbHandle = sizeof(ULONG_PTR);
|
||||
CopyMemory(&(handle->pbHandle), &hCard, handle->cbHandle);
|
||||
|
@ -1647,6 +1649,7 @@ LONG smartcard_unpack_redir_scard_context_(wStream* s, REDIR_SCARDCONTEXT* conte
|
|||
UINT32 pbContextNdrPtr;
|
||||
|
||||
WINPR_UNUSED(file);
|
||||
WINPR_ASSERT(context);
|
||||
|
||||
ZeroMemory(context, sizeof(REDIR_SCARDCONTEXT));
|
||||
|
||||
|
@ -1704,6 +1707,7 @@ LONG smartcard_unpack_redir_scard_context_ref(wStream* s, REDIR_SCARDCONTEXT* co
|
|||
{
|
||||
UINT32 length;
|
||||
|
||||
WINPR_ASSERT(context);
|
||||
if (context->cbContext == 0)
|
||||
return SCARD_S_SUCCESS;
|
||||
|
||||
|
@ -1752,6 +1756,7 @@ LONG smartcard_pack_redir_scard_context_ref(wStream* s, const REDIR_SCARDCONTEXT
|
|||
LONG smartcard_unpack_redir_scard_handle_(wStream* s, REDIR_SCARDHANDLE* handle, UINT32* index,
|
||||
const char* file, const char* function, int line)
|
||||
{
|
||||
WINPR_ASSERT(handle);
|
||||
ZeroMemory(handle, sizeof(REDIR_SCARDHANDLE));
|
||||
|
||||
if (!Stream_CheckAndLogRequiredLength(TAG, s, 4))
|
||||
|
|
|
@ -34,11 +34,10 @@ int mf_is_event_set(mfEventQueue* event_queue)
|
|||
{
|
||||
fd_set rfds;
|
||||
int num_set;
|
||||
struct timeval time;
|
||||
struct timeval time = { 0 };
|
||||
|
||||
FD_ZERO(&rfds);
|
||||
FD_SET(event_queue->pipe_fd[0], &rfds);
|
||||
memset(&time, 0, sizeof(time));
|
||||
num_set = select(event_queue->pipe_fd[0] + 1, &rfds, 0, 0, &time);
|
||||
|
||||
return (num_set == 1);
|
||||
|
|
|
@ -298,7 +298,7 @@ static BOOL test_peer_load_icon(freerdp_peer* client)
|
|||
testPeerContext* context;
|
||||
FILE* fp;
|
||||
int i;
|
||||
char line[50];
|
||||
char line[50] = { 0 };
|
||||
BYTE* rgb_data = NULL;
|
||||
int c;
|
||||
rdpSettings* settings;
|
||||
|
|
|
@ -107,7 +107,7 @@ int wf_dxgi_getDuplication(wfInfo* wfi)
|
|||
{
|
||||
HRESULT status;
|
||||
UINT dTop, i = 0;
|
||||
DXGI_OUTPUT_DESC desc;
|
||||
DXGI_OUTPUT_DESC desc = { 0 };
|
||||
IDXGIOutput* pOutput;
|
||||
IDXGIDevice* DxgiDevice = NULL;
|
||||
IDXGIAdapter* DxgiAdapter = NULL;
|
||||
|
@ -132,7 +132,6 @@ int wf_dxgi_getDuplication(wfInfo* wfi)
|
|||
return 1;
|
||||
}
|
||||
|
||||
ZeroMemory(&desc, sizeof(desc));
|
||||
pOutput = NULL;
|
||||
|
||||
while (DxgiAdapter->lpVtbl->EnumOutputs(DxgiAdapter, i, &pOutput) != DXGI_ERROR_NOT_FOUND)
|
||||
|
|
|
@ -65,10 +65,11 @@ BOOL wf_peer_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
|
|||
|
||||
BOOL wf_peer_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
|
||||
{
|
||||
INPUT mouse_event;
|
||||
INPUT mouse_event = { 0 };
|
||||
float width, height;
|
||||
WINPR_UNUSED(input);
|
||||
ZeroMemory(&mouse_event, sizeof(INPUT));
|
||||
|
||||
WINPR_ASSERT(input);
|
||||
mouse_event.type = INPUT_MOUSE;
|
||||
|
||||
if (flags & PTR_FLAGS_WHEEL)
|
||||
|
@ -142,8 +143,7 @@ BOOL wf_peer_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT1
|
|||
{
|
||||
if ((flags & PTR_XFLAGS_BUTTON1) || (flags & PTR_XFLAGS_BUTTON2))
|
||||
{
|
||||
INPUT mouse_event;
|
||||
ZeroMemory(&mouse_event, sizeof(INPUT));
|
||||
INPUT mouse_event = { 0 };
|
||||
mouse_event.type = INPUT_MOUSE;
|
||||
|
||||
if (flags & PTR_FLAGS_MOVE)
|
||||
|
|
|
@ -296,7 +296,7 @@ int win_shadow_dxgi_init_duplication(winShadowSubsystem* subsystem)
|
|||
HRESULT hr;
|
||||
UINT dTop, i = 0;
|
||||
IDXGIOutput* pOutput;
|
||||
DXGI_OUTPUT_DESC outputDesc;
|
||||
DXGI_OUTPUT_DESC outputDesc = { 0 };
|
||||
DXGI_OUTPUT_DESC* pOutputDesc;
|
||||
D3D11_TEXTURE2D_DESC textureDesc;
|
||||
IDXGIDevice* dxgiDevice = NULL;
|
||||
|
@ -330,7 +330,6 @@ int win_shadow_dxgi_init_duplication(winShadowSubsystem* subsystem)
|
|||
}
|
||||
|
||||
pOutput = NULL;
|
||||
ZeroMemory(&outputDesc, sizeof(outputDesc));
|
||||
|
||||
while (dxgiAdapter->lpVtbl->EnumOutputs(dxgiAdapter, i, &pOutput) != DXGI_ERROR_NOT_FOUND)
|
||||
{
|
||||
|
|
|
@ -355,8 +355,8 @@ int shw_RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints)
|
|||
int win_shadow_rdp_init(winShadowSubsystem* subsystem)
|
||||
{
|
||||
rdpContext* context;
|
||||
RDP_CLIENT_ENTRY_POINTS clientEntryPoints;
|
||||
ZeroMemory(&clientEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
|
||||
RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 };
|
||||
|
||||
clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS);
|
||||
clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION;
|
||||
shw_RdpClientEntry(&clientEntryPoints);
|
||||
|
|
|
@ -94,10 +94,10 @@ static BOOL win_shadow_input_mouse_event(rdpShadowSubsystem* subsystem, rdpShado
|
|||
UINT16 flags, UINT16 x, UINT16 y)
|
||||
{
|
||||
UINT rc = 1;
|
||||
INPUT event;
|
||||
INPUT event = { 0 };
|
||||
float width;
|
||||
float height;
|
||||
ZeroMemory(&event, sizeof(INPUT));
|
||||
|
||||
event.type = INPUT_MOUSE;
|
||||
|
||||
if (flags & (PTR_FLAGS_WHEEL | PTR_FLAGS_HWHEEL))
|
||||
|
@ -179,10 +179,9 @@ static BOOL win_shadow_input_extended_mouse_event(rdpShadowSubsystem* subsystem,
|
|||
UINT16 y)
|
||||
{
|
||||
UINT rc = 1;
|
||||
INPUT event;
|
||||
INPUT event = { 0 };
|
||||
float width;
|
||||
float height;
|
||||
ZeroMemory(&event, sizeof(INPUT));
|
||||
|
||||
if ((flags & PTR_XFLAGS_BUTTON1) || (flags & PTR_XFLAGS_BUTTON2))
|
||||
{
|
||||
|
@ -425,8 +424,8 @@ static UINT32 win_shadow_enum_monitors(MONITOR_DEF* monitors, UINT32 maxMonitors
|
|||
DWORD iDevNum = 0;
|
||||
int numMonitors = 0;
|
||||
MONITOR_DEF* monitor;
|
||||
DISPLAY_DEVICE displayDevice;
|
||||
ZeroMemory(&displayDevice, sizeof(DISPLAY_DEVICE));
|
||||
DISPLAY_DEVICE displayDevice = { 0 };
|
||||
|
||||
displayDevice.cb = sizeof(DISPLAY_DEVICE);
|
||||
|
||||
if (EnumDisplayDevices(NULL, iDevNum, &displayDevice, 0))
|
||||
|
|
|
@ -478,9 +478,9 @@ int win_shadow_wds_wnd_init(winShadowSubsystem* subsystem)
|
|||
{
|
||||
HMODULE hModule;
|
||||
HINSTANCE hInstance;
|
||||
WNDCLASSEX wndClassEx;
|
||||
WNDCLASSEX wndClassEx = { 0 };
|
||||
hModule = GetModuleHandle(NULL);
|
||||
ZeroMemory(&wndClassEx, sizeof(WNDCLASSEX));
|
||||
|
||||
wndClassEx.cbSize = sizeof(WNDCLASSEX);
|
||||
wndClassEx.style = 0;
|
||||
wndClassEx.lpfnWndProc = ShadowWndProc;
|
||||
|
|
|
@ -1251,7 +1251,7 @@ static int x11_shadow_subsystem_init(rdpShadowSubsystem* sub)
|
|||
char** extensions;
|
||||
XVisualInfo* vi;
|
||||
XVisualInfo* vis;
|
||||
XVisualInfo template;
|
||||
XVisualInfo template = { 0 };
|
||||
XPixmapFormatValues* pf;
|
||||
XPixmapFormatValues* pfs;
|
||||
|
||||
|
@ -1306,7 +1306,6 @@ static int x11_shadow_subsystem_init(rdpShadowSubsystem* sub)
|
|||
}
|
||||
|
||||
XFree(pfs);
|
||||
ZeroMemory(&template, sizeof(template));
|
||||
template.class = TrueColor;
|
||||
template.screen = subsystem->number;
|
||||
vis = XGetVisualInfo(subsystem->display, VisualClassMask | VisualScreenMask, &template,
|
||||
|
|
|
@ -89,7 +89,7 @@ int shadow_capture_compare(BYTE* pData1, UINT32 nStep1, UINT32 nWidth, UINT32 nH
|
|||
BYTE *p1, *p2;
|
||||
BOOL rows[1024];
|
||||
#ifdef WITH_DEBUG_SHADOW_CAPTURE
|
||||
BOOL cols[1024];
|
||||
BOOL cols[1024] = { FALSE };
|
||||
#endif
|
||||
allEqual = TRUE;
|
||||
ZeroMemory(rect, sizeof(RECTANGLE_16));
|
||||
|
|
|
@ -31,6 +31,7 @@ void shadow_subsystem_set_entry(pfnShadowSubsystemEntry pEntry)
|
|||
|
||||
static int shadow_subsystem_load_entry_points(RDP_SHADOW_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
WINPR_ASSERT(pEntryPoints);
|
||||
ZeroMemory(pEntryPoints, sizeof(RDP_SHADOW_ENTRY_POINTS));
|
||||
|
||||
if (!pSubsystemEntry)
|
||||
|
|
|
@ -472,7 +472,7 @@ error_handle:
|
|||
*/
|
||||
BOOL SetCommState(HANDLE hFile, LPDCB lpDCB)
|
||||
{
|
||||
struct termios upcomingTermios;
|
||||
struct termios upcomingTermios = { 0 };
|
||||
WINPR_COMM* pComm = (WINPR_COMM*)hFile;
|
||||
DWORD bytesReturned;
|
||||
|
||||
|
@ -535,8 +535,7 @@ BOOL SetCommState(HANDLE hFile, LPDCB lpDCB)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
SERIAL_HANDFLOW handflow;
|
||||
ZeroMemory(&handflow, sizeof(SERIAL_HANDFLOW));
|
||||
SERIAL_HANDFLOW handflow = { 0 };
|
||||
|
||||
if (lpDCB->fOutxCtsFlow)
|
||||
{
|
||||
|
@ -641,7 +640,6 @@ BOOL SetCommState(HANDLE hFile, LPDCB lpDCB)
|
|||
}
|
||||
|
||||
/** upcomingTermios stage **/
|
||||
ZeroMemory(&upcomingTermios, sizeof(struct termios));
|
||||
|
||||
if (tcgetattr(pComm->fd, &upcomingTermios) <
|
||||
0) /* NB: preserves current settings not directly handled by the Communication Functions */
|
||||
|
|
|
@ -687,7 +687,7 @@ BOOL CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffe
|
|||
int _comm_ioctl_tcsetattr(int fd, int optional_actions, const struct termios* termios_p)
|
||||
{
|
||||
int result;
|
||||
struct termios currentState;
|
||||
struct termios currentState = { 0 };
|
||||
|
||||
if ((result = tcsetattr(fd, optional_actions, termios_p)) < 0)
|
||||
{
|
||||
|
@ -696,7 +696,6 @@ int _comm_ioctl_tcsetattr(int fd, int optional_actions, const struct termios* te
|
|||
}
|
||||
|
||||
/* NB: tcsetattr() can succeed even if not all changes have been applied. */
|
||||
ZeroMemory(¤tState, sizeof(struct termios));
|
||||
if ((result = tcgetattr(fd, ¤tState)) < 0)
|
||||
{
|
||||
CommLog_Print(WLOG_WARN, "tcgetattr failure, errno: %d", errno);
|
||||
|
|
|
@ -47,6 +47,7 @@ static BOOL _set_serial_chars(WINPR_COMM* pComm, const SERIAL_CHARS* pSerialChar
|
|||
|
||||
static BOOL _get_serial_chars(WINPR_COMM* pComm, SERIAL_CHARS* pSerialChars)
|
||||
{
|
||||
WINPR_ASSERT(pSerialChars);
|
||||
ZeroMemory(pSerialChars, sizeof(SERIAL_CHARS));
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -167,7 +167,7 @@ static BOOL _get_properties(WINPR_COMM* pComm, COMMPROP* pProperties)
|
|||
/* FIXME: properties should be better probed. The current
|
||||
* implementation just relies on the Linux' implementation.
|
||||
*/
|
||||
|
||||
WINPR_ASSERT(pProperties);
|
||||
if (pProperties->dwProvSpec1 != COMMPROP_INITIALIZED)
|
||||
{
|
||||
ZeroMemory(pProperties, sizeof(COMMPROP));
|
||||
|
|
|
@ -28,12 +28,12 @@
|
|||
|
||||
int TestCommConfig(int argc, char* argv[])
|
||||
{
|
||||
DCB dcb;
|
||||
DCB dcb = { 0 };
|
||||
HANDLE hComm;
|
||||
BOOL success;
|
||||
LPCSTR lpFileName = "\\\\.\\COM1";
|
||||
COMMPROP commProp;
|
||||
struct stat statbuf;
|
||||
COMMPROP commProp = { 0 };
|
||||
struct stat statbuf = { 0 };
|
||||
|
||||
hComm = CreateFileA(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
|
||||
|
||||
|
@ -82,7 +82,6 @@ int TestCommConfig(int argc, char* argv[])
|
|||
/* TODO: a second call to CreateFileA should failed and
|
||||
* GetLastError should return ERROR_SHARING_VIOLATION */
|
||||
|
||||
ZeroMemory(&dcb, sizeof(DCB));
|
||||
dcb.DCBlength = sizeof(DCB);
|
||||
success = GetCommState(hComm, &dcb);
|
||||
if (!success)
|
||||
|
@ -95,7 +94,6 @@ int TestCommConfig(int argc, char* argv[])
|
|||
"BaudRate: %" PRIu32 " ByteSize: %" PRIu8 " Parity: %" PRIu8 " StopBits: %" PRIu8 "\n",
|
||||
dcb.BaudRate, dcb.ByteSize, dcb.Parity, dcb.StopBits);
|
||||
|
||||
ZeroMemory(&commProp, sizeof(COMMPROP));
|
||||
if (!GetCommProperties(hComm, &commProp))
|
||||
{
|
||||
fprintf(stderr, "GetCommProperties failure: GetLastError(): 0x%08x\n", GetLastError());
|
||||
|
|
|
@ -11,7 +11,7 @@ int TestCommMonitor(int argc, char* argv[])
|
|||
DWORD dwError;
|
||||
BOOL fSuccess;
|
||||
DWORD dwEvtMask;
|
||||
OVERLAPPED overlapped;
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
LPCSTR lpFileName = "\\\\.\\COM1";
|
||||
|
||||
hComm = CreateFileA(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
|
||||
|
@ -31,7 +31,6 @@ int TestCommMonitor(int argc, char* argv[])
|
|||
return -1;
|
||||
}
|
||||
|
||||
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
|
||||
if (!(overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL)))
|
||||
{
|
||||
printf("CreateEvent failed: GetLastError() = %" PRIu32 "\n", GetLastError());
|
||||
|
|
|
@ -31,19 +31,17 @@
|
|||
|
||||
static BOOL test_SerCxSys(HANDLE hComm)
|
||||
{
|
||||
DCB dcb;
|
||||
DCB dcb = { 0 };
|
||||
UCHAR XonChar, XoffChar;
|
||||
|
||||
struct termios currentTermios;
|
||||
struct termios currentTermios = { 0 };
|
||||
|
||||
ZeroMemory(¤tTermios, sizeof(struct termios));
|
||||
if (tcgetattr(((WINPR_COMM*)hComm)->fd, ¤tTermios) < 0)
|
||||
{
|
||||
fprintf(stderr, "tcgetattr failure.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ZeroMemory(&dcb, sizeof(DCB));
|
||||
dcb.DCBlength = sizeof(DCB);
|
||||
if (!GetCommState(hComm, &dcb))
|
||||
{
|
||||
|
@ -111,9 +109,8 @@ static BOOL test_SerCxSys(HANDLE hComm)
|
|||
|
||||
static BOOL test_SerCx2Sys(HANDLE hComm)
|
||||
{
|
||||
DCB dcb;
|
||||
DCB dcb = { 0 };
|
||||
|
||||
ZeroMemory(&dcb, sizeof(DCB));
|
||||
dcb.DCBlength = sizeof(DCB);
|
||||
if (!GetCommState(hComm, &dcb))
|
||||
{
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
static void init_empty_dcb(DCB* pDcb)
|
||||
{
|
||||
WINPR_ASSERT(pDcb);
|
||||
|
||||
ZeroMemory(pDcb, sizeof(DCB));
|
||||
pDcb->DCBlength = sizeof(DCB);
|
||||
pDcb->XonChar = 1;
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
static BOOL test_generic(HANDLE hComm)
|
||||
{
|
||||
COMMTIMEOUTS timeouts, timeouts2;
|
||||
COMMTIMEOUTS timeouts = { 0 }, timeouts2 = { 0 };
|
||||
|
||||
timeouts.ReadIntervalTimeout = 1;
|
||||
timeouts.ReadTotalTimeoutMultiplier = 2;
|
||||
|
@ -45,7 +45,6 @@ static BOOL test_generic(HANDLE hComm)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
ZeroMemory(&timeouts2, sizeof(COMMTIMEOUTS));
|
||||
if (!GetCommTimeouts(hComm, &timeouts2))
|
||||
{
|
||||
fprintf(stderr, "GetCommTimeouts failure, GetLastError: 0x%08x\n", GetLastError());
|
||||
|
|
|
@ -10,8 +10,8 @@ static BOOL test_crypto_cipher_aes_128_cbc()
|
|||
BOOL result = FALSE;
|
||||
BYTE key[] = "0123456789abcdeF";
|
||||
BYTE iv[] = "1234567887654321";
|
||||
BYTE ibuf[1024];
|
||||
BYTE obuf[1024];
|
||||
BYTE ibuf[1024] = { 0 };
|
||||
BYTE obuf[1024] = { 0 };
|
||||
size_t ilen;
|
||||
size_t olen;
|
||||
size_t xlen;
|
||||
|
@ -26,9 +26,6 @@ static BOOL test_crypto_cipher_aes_128_cbc()
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
memset(ibuf, 0, sizeof(ibuf));
|
||||
memset(obuf, 0, sizeof(obuf));
|
||||
|
||||
ilen = strnlen(plaintext, sizeof(plaintext)) + 1;
|
||||
memcpy(ibuf, plaintext, ilen);
|
||||
|
||||
|
@ -181,13 +178,10 @@ static const BYTE* TEST_CIPHER_IV =
|
|||
static BOOL test_crypto_cipher_key()
|
||||
{
|
||||
int status;
|
||||
BYTE key[32];
|
||||
BYTE iv[16];
|
||||
BYTE key[32] = { 0 };
|
||||
BYTE iv[16] = { 0 };
|
||||
BYTE salt[8] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 };
|
||||
|
||||
ZeroMemory(key, sizeof(key));
|
||||
ZeroMemory(iv, sizeof(iv));
|
||||
|
||||
status = winpr_Cipher_BytesToKey(WINPR_CIPHER_AES_256_CBC, WINPR_MD_SHA1, salt, TEST_RAND_DATA,
|
||||
64, 4, key, iv);
|
||||
|
||||
|
|
|
@ -1123,9 +1123,7 @@ HANDLE CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,
|
|||
DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
|
||||
{
|
||||
HANDLE hFile;
|
||||
CREATEFILE2_EXTENDED_PARAMETERS params;
|
||||
|
||||
ZeroMemory(¶ms, sizeof(CREATEFILE2_EXTENDED_PARAMETERS));
|
||||
CREATEFILE2_EXTENDED_PARAMETERS params = { 0 };
|
||||
|
||||
params.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ static HANDLE NamedPipeClientCreateFileA(LPCSTR lpFileName, DWORD dwDesiredAcces
|
|||
char* name;
|
||||
int status;
|
||||
HANDLE hNamedPipe;
|
||||
struct sockaddr_un s;
|
||||
struct sockaddr_un s = { 0 };
|
||||
WINPR_NAMED_PIPE* pNamedPipe;
|
||||
|
||||
if (dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED)
|
||||
|
@ -196,7 +196,6 @@ static HANDLE NamedPipeClientCreateFileA(LPCSTR lpFileName, DWORD dwDesiredAcces
|
|||
pNamedPipe->clientfd = socket(PF_LOCAL, SOCK_STREAM, 0);
|
||||
pNamedPipe->serverfd = -1;
|
||||
pNamedPipe->ServerMode = FALSE;
|
||||
ZeroMemory(&s, sizeof(struct sockaddr_un));
|
||||
s.sun_family = AF_UNIX;
|
||||
sprintf_s(s.sun_path, ARRAYSIZE(s.sun_path), "%s", pNamedPipe->lpFilePath);
|
||||
status = connect(pNamedPipe->clientfd, (struct sockaddr*)&s, sizeof(struct sockaddr_un));
|
||||
|
|
|
@ -96,13 +96,12 @@ BOOL GetOverlappedResult(HANDLE hFile, LPOVERLAPPED lpOverlapped,
|
|||
else if (request == 2)
|
||||
{
|
||||
socklen_t length;
|
||||
struct sockaddr_un s;
|
||||
struct sockaddr_un s = { 0 };
|
||||
|
||||
if (pipe->serverfd == -1)
|
||||
return FALSE;
|
||||
|
||||
length = sizeof(struct sockaddr_un);
|
||||
ZeroMemory(&s, sizeof(struct sockaddr_un));
|
||||
|
||||
status = accept(pipe->serverfd, (struct sockaddr*)&s, &length);
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@ int TestNtCreateFile(int argc, char* argv[])
|
|||
UNICODE_STRING uString;
|
||||
ULONG CreateDisposition;
|
||||
ACCESS_MASK DesiredAccess = 0;
|
||||
OBJECT_ATTRIBUTES attributes;
|
||||
IO_STATUS_BLOCK ioStatusBlock;
|
||||
OBJECT_ATTRIBUTES attributes = { 0 };
|
||||
IO_STATUS_BLOCK ioStatusBlock = { 0 };
|
||||
int result = -1;
|
||||
|
||||
WINPR_UNUSED(argc);
|
||||
|
@ -35,7 +35,6 @@ int TestNtCreateFile(int argc, char* argv[])
|
|||
}
|
||||
|
||||
handle = NULL;
|
||||
ZeroMemory(&ioStatusBlock, sizeof(IO_STATUS_BLOCK));
|
||||
_InitializeObjectAttributes(&attributes, &uString, 0, NULL, NULL);
|
||||
DesiredAccess = GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE;
|
||||
CreateOptions = FILE_DIRECTORY_FILE | FILE_WRITE_THROUGH;
|
||||
|
|
|
@ -560,7 +560,6 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD
|
|||
{
|
||||
size_t index;
|
||||
char* lpPipePath;
|
||||
struct sockaddr_un s;
|
||||
WINPR_NAMED_PIPE* pNamedPipe = NULL;
|
||||
int serverfd = -1;
|
||||
NamedPipeServerSocketEntry* baseSocket = NULL;
|
||||
|
@ -627,6 +626,7 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD
|
|||
/* If this is the first instance of the named pipe... */
|
||||
if (serverfd == -1)
|
||||
{
|
||||
struct sockaddr_un s = { 0 };
|
||||
/* Create the UNIX domain socket and start listening. */
|
||||
if (!(lpPipePath = GetNamedPipeUnixDomainSocketBaseFilePathA()))
|
||||
goto out;
|
||||
|
@ -653,7 +653,6 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD
|
|||
goto out;
|
||||
}
|
||||
|
||||
ZeroMemory(&s, sizeof(struct sockaddr_un));
|
||||
s.sun_family = AF_UNIX;
|
||||
sprintf_s(s.sun_path, ARRAYSIZE(s.sun_path), "%s", pNamedPipe->lpFilePath);
|
||||
|
||||
|
@ -735,7 +734,6 @@ BOOL ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped)
|
|||
{
|
||||
int status;
|
||||
socklen_t length;
|
||||
struct sockaddr_un s;
|
||||
WINPR_NAMED_PIPE* pNamedPipe;
|
||||
|
||||
if (lpOverlapped)
|
||||
|
@ -752,8 +750,8 @@ BOOL ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped)
|
|||
|
||||
if (!(pNamedPipe->dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED))
|
||||
{
|
||||
struct sockaddr_un s = { 0 };
|
||||
length = sizeof(struct sockaddr_un);
|
||||
ZeroMemory(&s, sizeof(struct sockaddr_un));
|
||||
status = accept(pNamedPipe->serverfd, (struct sockaddr*)&s, &length);
|
||||
|
||||
if (status < 0)
|
||||
|
|
|
@ -191,18 +191,14 @@ out:
|
|||
#define TESTNUMPIPESST 16
|
||||
static DWORD WINAPI named_pipe_single_thread(LPVOID arg)
|
||||
{
|
||||
HANDLE servers[TESTNUMPIPESST];
|
||||
HANDLE clients[TESTNUMPIPESST];
|
||||
char sndbuf[PIPE_BUFFER_SIZE];
|
||||
char rcvbuf[PIPE_BUFFER_SIZE];
|
||||
HANDLE servers[TESTNUMPIPESST] = { 0 };
|
||||
HANDLE clients[TESTNUMPIPESST] = { 0 };
|
||||
DWORD dwRead;
|
||||
DWORD dwWritten;
|
||||
int i;
|
||||
int numPipes;
|
||||
BOOL bSuccess = FALSE;
|
||||
numPipes = TESTNUMPIPESST;
|
||||
memset(servers, 0, sizeof(servers));
|
||||
memset(clients, 0, sizeof(clients));
|
||||
WaitForSingleObject(ReadyEvent, INFINITE);
|
||||
|
||||
for (i = 0; i < numPipes; i++)
|
||||
|
@ -306,52 +302,59 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg)
|
|||
|
||||
for (i = 0; i < numPipes; i++)
|
||||
{
|
||||
/* Test writing from clients to servers */
|
||||
ZeroMemory(sndbuf, sizeof(sndbuf));
|
||||
ZeroMemory(rcvbuf, sizeof(rcvbuf));
|
||||
sprintf_s(sndbuf, sizeof(sndbuf), "CLIENT->SERVER ON PIPE #%05d", i);
|
||||
|
||||
if (!WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL) ||
|
||||
dwWritten != sizeof(sndbuf))
|
||||
{
|
||||
printf("%s: Error writing to client end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
char sndbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
char rcvbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
/* Test writing from clients to servers */
|
||||
sprintf_s(sndbuf, sizeof(sndbuf), "CLIENT->SERVER ON PIPE #%05d", i);
|
||||
|
||||
if (!WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL) ||
|
||||
dwWritten != sizeof(sndbuf))
|
||||
{
|
||||
printf("%s: Error writing to client end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!ReadFile(servers[i], rcvbuf, dwWritten, &dwRead, NULL) || dwRead != dwWritten)
|
||||
{
|
||||
printf("%s: Error reading on server end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (memcmp(sndbuf, rcvbuf, sizeof(sndbuf)))
|
||||
{
|
||||
printf("%s: Error data read on server end of pipe #%d is corrupted\n", __FUNCTION__,
|
||||
i);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
if (!ReadFile(servers[i], rcvbuf, dwWritten, &dwRead, NULL) || dwRead != dwWritten)
|
||||
{
|
||||
printf("%s: Error reading on server end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (memcmp(sndbuf, rcvbuf, sizeof(sndbuf)))
|
||||
{
|
||||
printf("%s: Error data read on server end of pipe #%d is corrupted\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
char sndbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
char rcvbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
/* Test writing from servers to clients */
|
||||
|
||||
/* Test writing from servers to clients */
|
||||
ZeroMemory(sndbuf, sizeof(sndbuf));
|
||||
ZeroMemory(rcvbuf, sizeof(rcvbuf));
|
||||
sprintf_s(sndbuf, sizeof(sndbuf), "SERVER->CLIENT ON PIPE #%05d", i);
|
||||
sprintf_s(sndbuf, sizeof(sndbuf), "SERVER->CLIENT ON PIPE #%05d", i);
|
||||
|
||||
if (!WriteFile(servers[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL) ||
|
||||
dwWritten != sizeof(sndbuf))
|
||||
{
|
||||
printf("%s: Error writing to server end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
if (!WriteFile(servers[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL) ||
|
||||
dwWritten != sizeof(sndbuf))
|
||||
{
|
||||
printf("%s: Error writing to server end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!ReadFile(clients[i], rcvbuf, dwWritten, &dwRead, NULL) || dwRead != dwWritten)
|
||||
{
|
||||
printf("%s: Error reading on client end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
if (!ReadFile(clients[i], rcvbuf, dwWritten, &dwRead, NULL) || dwRead != dwWritten)
|
||||
{
|
||||
printf("%s: Error reading on client end of pipe #%d\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (memcmp(sndbuf, rcvbuf, sizeof(sndbuf)))
|
||||
{
|
||||
printf("%s: Error data read on client end of pipe #%d is corrupted\n", __FUNCTION__, i);
|
||||
goto out;
|
||||
if (memcmp(sndbuf, rcvbuf, sizeof(sndbuf)))
|
||||
{
|
||||
printf("%s: Error data read on client end of pipe #%d is corrupted\n", __FUNCTION__,
|
||||
i);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -362,23 +365,26 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg)
|
|||
*/
|
||||
i = numPipes - 1;
|
||||
DisconnectNamedPipe(servers[i]);
|
||||
|
||||
if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf(
|
||||
"%s: Error ReadFile on client should have failed after DisconnectNamedPipe on server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
char sndbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
char rcvbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf("%s: Error ReadFile on client should have failed after DisconnectNamedPipe on "
|
||||
"server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf("%s: Error WriteFile on client end should have failed after DisconnectNamedPipe on "
|
||||
"server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
if (WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf(
|
||||
"%s: Error WriteFile on client end should have failed after DisconnectNamedPipe on "
|
||||
"server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
CloseHandle(servers[i]);
|
||||
CloseHandle(clients[i]);
|
||||
numPipes--;
|
||||
|
@ -389,20 +395,26 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg)
|
|||
i = numPipes - 1;
|
||||
CloseHandle(servers[i]);
|
||||
|
||||
if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf("%s: Error ReadFile on client end should have failed after CloseHandle on server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
char sndbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
char rcvbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
|
||||
if (WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf("%s: Error WriteFile on client end should have failed after CloseHandle on server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf(
|
||||
"%s: Error ReadFile on client end should have failed after CloseHandle on server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (WriteFile(clients[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf("%s: Error WriteFile on client end should have failed after CloseHandle on "
|
||||
"server\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
CloseHandle(clients[i]);
|
||||
numPipes--;
|
||||
/**
|
||||
|
@ -412,18 +424,25 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg)
|
|||
i = numPipes - 1;
|
||||
CloseHandle(clients[i]);
|
||||
|
||||
if (ReadFile(servers[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf("%s: Error ReadFile on server end should have failed after CloseHandle on client\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
char sndbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
char rcvbuf[PIPE_BUFFER_SIZE] = { 0 };
|
||||
|
||||
if (WriteFile(servers[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf("%s: Error WriteFile on server end should have failed after CloseHandle on client\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
if (ReadFile(servers[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL))
|
||||
{
|
||||
printf(
|
||||
"%s: Error ReadFile on server end should have failed after CloseHandle on client\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (WriteFile(servers[i], sndbuf, sizeof(sndbuf), &dwWritten, NULL))
|
||||
{
|
||||
printf("%s: Error WriteFile on server end should have failed after CloseHandle on "
|
||||
"client\n",
|
||||
__FUNCTION__);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
DisconnectNamedPipe(servers[i]);
|
||||
|
|
|
@ -14,8 +14,8 @@ int TestPipeCreatePipe(int argc, char* argv[])
|
|||
DWORD dwWrite;
|
||||
HANDLE hReadPipe;
|
||||
HANDLE hWritePipe;
|
||||
BYTE readBuffer[BUFFER_SIZE];
|
||||
BYTE writeBuffer[BUFFER_SIZE];
|
||||
BYTE readBuffer[BUFFER_SIZE] = { 0 };
|
||||
BYTE writeBuffer[BUFFER_SIZE] = { 0 };
|
||||
WINPR_UNUSED(argc);
|
||||
WINPR_UNUSED(argv);
|
||||
status = CreatePipe(&hReadPipe, &hWritePipe, NULL, BUFFER_SIZE * 2);
|
||||
|
@ -43,7 +43,6 @@ int TestPipeCreatePipe(int argc, char* argv[])
|
|||
return -1;
|
||||
}
|
||||
|
||||
ZeroMemory(readBuffer, sizeof(readBuffer));
|
||||
status = ReadFile(hReadPipe, &readBuffer, sizeof(readBuffer), &dwRead, NULL);
|
||||
|
||||
if (!status)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
|
||||
#include <winpr/wtypes.h>
|
||||
#include <winpr/crt.h>
|
||||
#include <winpr/pool.h>
|
||||
#include <winpr/interlocked.h>
|
||||
|
@ -8,21 +9,20 @@ static LONG count = 0;
|
|||
static void CALLBACK test_WorkCallback(PTP_CALLBACK_INSTANCE instance, void* context, PTP_WORK work)
|
||||
{
|
||||
int index;
|
||||
BYTE a[1024];
|
||||
BYTE b[1024];
|
||||
BYTE c[1024];
|
||||
printf("Hello %s: %03" PRId32 " (thread: 0x%08" PRIX32 ")\n", (char*)context,
|
||||
InterlockedIncrement(&count), GetCurrentThreadId());
|
||||
|
||||
for (index = 0; index < 100; index++)
|
||||
{
|
||||
ZeroMemory(a, 1024);
|
||||
ZeroMemory(b, 1024);
|
||||
ZeroMemory(c, 1024);
|
||||
FillMemory(a, 1024, 0xAA);
|
||||
FillMemory(b, 1024, 0xBB);
|
||||
CopyMemory(c, a, 1024);
|
||||
CopyMemory(c, b, 1024);
|
||||
BYTE a[1024];
|
||||
BYTE b[1024];
|
||||
BYTE c[1024] = { 0 };
|
||||
|
||||
FillMemory(a, ARRAYSIZE(a), 0xAA);
|
||||
FillMemory(b, ARRAYSIZE(b), 0xBB);
|
||||
|
||||
CopyMemory(c, a, ARRAYSIZE(a));
|
||||
CopyMemory(c, b, ARRAYSIZE(b));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -398,10 +398,8 @@ static int test_ntlm_server_authenticate(TEST_NTLM_SERVER* ntlm)
|
|||
|
||||
if (!hash_set && status == SEC_I_CONTINUE_NEEDED)
|
||||
{
|
||||
SecPkgContext_AuthIdentity AuthIdentity;
|
||||
SecPkgContext_AuthNtlmHash AuthNtlmHash;
|
||||
ZeroMemory(&AuthIdentity, sizeof(SecPkgContext_AuthIdentity));
|
||||
ZeroMemory(&AuthNtlmHash, sizeof(SecPkgContext_AuthNtlmHash));
|
||||
SecPkgContext_AuthIdentity AuthIdentity = { 0 };
|
||||
SecPkgContext_AuthNtlmHash AuthNtlmHash = { 0 };
|
||||
|
||||
if (ntlm->UseNtlmV2Hash)
|
||||
{
|
||||
|
|
|
@ -218,12 +218,12 @@ static int schannel_send(PSecurityFunctionTable table, HANDLE hPipe, PCtxtHandle
|
|||
BYTE* ioBuffer;
|
||||
UINT32 ioBufferLength;
|
||||
BYTE* pMessageBuffer;
|
||||
SecBuffer Buffers[4];
|
||||
SecBuffer Buffers[4] = { 0 };
|
||||
SecBufferDesc Message;
|
||||
SECURITY_STATUS status;
|
||||
DWORD NumberOfBytesWritten;
|
||||
SecPkgContext_StreamSizes StreamSizes;
|
||||
ZeroMemory(&StreamSizes, sizeof(SecPkgContext_StreamSizes));
|
||||
SecPkgContext_StreamSizes StreamSizes = { 0 };
|
||||
|
||||
status = table->QueryContextAttributes(phContext, SECPKG_ATTR_STREAM_SIZES, &StreamSizes);
|
||||
ioBufferLength = StreamSizes.cbHeader + StreamSizes.cbMaximumMessage + StreamSizes.cbTrailer;
|
||||
ioBuffer = (BYTE*)calloc(1, ioBufferLength);
|
||||
|
@ -278,12 +278,12 @@ static int schannel_recv(PSecurityFunctionTable table, HANDLE hPipe, PCtxtHandle
|
|||
BYTE* ioBuffer;
|
||||
UINT32 ioBufferLength;
|
||||
// BYTE* pMessageBuffer;
|
||||
SecBuffer Buffers[4];
|
||||
SecBuffer Buffers[4] = { 0 };
|
||||
SecBufferDesc Message;
|
||||
SECURITY_STATUS status;
|
||||
DWORD NumberOfBytesRead;
|
||||
SecPkgContext_StreamSizes StreamSizes;
|
||||
ZeroMemory(&StreamSizes, sizeof(SecPkgContext_StreamSizes));
|
||||
SecPkgContext_StreamSizes StreamSizes = { 0 };
|
||||
|
||||
status = table->QueryContextAttributes(phContext, SECPKG_ATTR_STREAM_SIZES, &StreamSizes);
|
||||
ioBufferLength = StreamSizes.cbHeader + StreamSizes.cbMaximumMessage + StreamSizes.cbTrailer;
|
||||
ioBuffer = (BYTE*)calloc(1, ioBufferLength);
|
||||
|
@ -344,7 +344,7 @@ static DWORD WINAPI schannel_test_server_thread(LPVOID arg)
|
|||
UINT32 cbMaxToken;
|
||||
UINT32 fContextReq;
|
||||
ULONG fContextAttr;
|
||||
SCHANNEL_CRED cred;
|
||||
SCHANNEL_CRED cred = { 0 };
|
||||
CtxtHandle context;
|
||||
CredHandle credentials;
|
||||
DWORD cchNameString;
|
||||
|
@ -352,8 +352,8 @@ static DWORD WINAPI schannel_test_server_thread(LPVOID arg)
|
|||
HCERTSTORE hCertStore;
|
||||
PCCERT_CONTEXT pCertContext;
|
||||
PSecBuffer pSecBuffer;
|
||||
SecBuffer SecBuffer_in[2];
|
||||
SecBuffer SecBuffer_out[2];
|
||||
SecBuffer SecBuffer_in[2] = { 0 };
|
||||
SecBuffer SecBuffer_out[2] = { 0 };
|
||||
SecBufferDesc SecBufferDesc_in;
|
||||
SecBufferDesc SecBufferDesc_out;
|
||||
DWORD NumberOfBytesRead;
|
||||
|
@ -407,7 +407,6 @@ static DWORD WINAPI schannel_test_server_thread(LPVOID arg)
|
|||
cchNameString = CertGetNameString(pCertContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL,
|
||||
pszNameString, cchNameString);
|
||||
_tprintf(_T("Certificate Name: %s\n"), pszNameString);
|
||||
ZeroMemory(&cred, sizeof(SCHANNEL_CRED));
|
||||
cred.dwVersion = SCHANNEL_CRED_VERSION;
|
||||
cred.cCreds = 1;
|
||||
cred.paCred = &pCertContext;
|
||||
|
@ -600,7 +599,7 @@ int TestSchannel(int argc, char* argv[])
|
|||
BYTE* lpTokenOut;
|
||||
TimeStamp expiry;
|
||||
UINT32 cbMaxToken;
|
||||
SCHANNEL_CRED cred;
|
||||
SCHANNEL_CRED cred = { 0 };
|
||||
UINT32 fContextReq;
|
||||
ULONG fContextAttr;
|
||||
CtxtHandle context;
|
||||
|
@ -608,16 +607,12 @@ int TestSchannel(int argc, char* argv[])
|
|||
SECURITY_STATUS status;
|
||||
PSecPkgInfo pPackageInfo;
|
||||
PSecBuffer pSecBuffer;
|
||||
SecBuffer SecBuffer_in[2];
|
||||
SecBuffer SecBuffer_out[1];
|
||||
SecBufferDesc SecBufferDesc_in;
|
||||
SecBufferDesc SecBufferDesc_out;
|
||||
PSecurityFunctionTable table;
|
||||
DWORD NumberOfBytesRead;
|
||||
DWORD NumberOfBytesWritten;
|
||||
SecPkgCred_SupportedAlgs SupportedAlgs;
|
||||
SecPkgCred_CipherStrengths CipherStrengths;
|
||||
SecPkgCred_SupportedProtocols SupportedProtocols;
|
||||
SecPkgCred_SupportedAlgs SupportedAlgs = { 0 };
|
||||
SecPkgCred_CipherStrengths CipherStrengths = { 0 };
|
||||
SecPkgCred_SupportedProtocols SupportedProtocols = { 0 };
|
||||
return 0; /* disable by default - causes crash */
|
||||
sspi_GlobalInit();
|
||||
dump_test_certificate_files();
|
||||
|
@ -652,7 +647,6 @@ int TestSchannel(int argc, char* argv[])
|
|||
}
|
||||
|
||||
cbMaxToken = pPackageInfo->cbMaxToken;
|
||||
ZeroMemory(&cred, sizeof(SCHANNEL_CRED));
|
||||
cred.dwVersion = SCHANNEL_CRED_VERSION;
|
||||
cred.cCreds = 0;
|
||||
cred.paCred = NULL;
|
||||
|
@ -671,7 +665,6 @@ int TestSchannel(int argc, char* argv[])
|
|||
return -1;
|
||||
}
|
||||
|
||||
ZeroMemory(&SupportedAlgs, sizeof(SecPkgCred_SupportedAlgs));
|
||||
status =
|
||||
table->QueryCredentialsAttributes(&credentials, SECPKG_ATTR_SUPPORTED_ALGS, &SupportedAlgs);
|
||||
|
||||
|
@ -697,7 +690,6 @@ int TestSchannel(int argc, char* argv[])
|
|||
}
|
||||
|
||||
printf("\n");
|
||||
ZeroMemory(&CipherStrengths, sizeof(SecPkgCred_CipherStrengths));
|
||||
status = table->QueryCredentialsAttributes(&credentials, SECPKG_ATTR_CIPHER_STRENGTHS,
|
||||
&CipherStrengths);
|
||||
|
||||
|
@ -711,7 +703,6 @@ int TestSchannel(int argc, char* argv[])
|
|||
/* CipherStrengths: Minimum: 40 Maximum: 256 */
|
||||
printf("CipherStrengths: Minimum: %" PRIu32 " Maximum: %" PRIu32 "\n",
|
||||
CipherStrengths.dwMinimumCipherStrength, CipherStrengths.dwMaximumCipherStrength);
|
||||
ZeroMemory(&SupportedProtocols, sizeof(SecPkgCred_SupportedProtocols));
|
||||
status = table->QueryCredentialsAttributes(&credentials, SECPKG_ATTR_SUPPORTED_PROTOCOLS,
|
||||
&SupportedProtocols);
|
||||
|
||||
|
@ -738,14 +729,14 @@ int TestSchannel(int argc, char* argv[])
|
|||
printf("Memory allocation failed\n");
|
||||
return -1;
|
||||
}
|
||||
ZeroMemory(&SecBuffer_in, sizeof(SecBuffer_in));
|
||||
ZeroMemory(&SecBuffer_out, sizeof(SecBuffer_out));
|
||||
ZeroMemory(&SecBufferDesc_in, sizeof(SecBufferDesc));
|
||||
ZeroMemory(&SecBufferDesc_out, sizeof(SecBufferDesc));
|
||||
g_ClientWait = FALSE;
|
||||
|
||||
do
|
||||
{
|
||||
SecBuffer SecBuffer_in[2] = { 0 };
|
||||
SecBuffer SecBuffer_out[1] = { 0 };
|
||||
SecBufferDesc SecBufferDesc_in = { 0 };
|
||||
SecBufferDesc SecBufferDesc_out = { 0 };
|
||||
if (g_ClientWait)
|
||||
{
|
||||
if (!ReadFile(g_ClientReadPipe, lpTokenIn, cbMaxToken, &NumberOfBytesRead, NULL))
|
||||
|
|
|
@ -258,9 +258,8 @@ static int InitializeWaitableTimer(WINPR_TIMER* timer)
|
|||
if (timer->fd <= 0)
|
||||
return -1;
|
||||
#elif defined(TIMER_IMPL_POSIX)
|
||||
struct sigevent sigev;
|
||||
struct sigevent sigev = { 0 };
|
||||
InitOnceExecuteOnce(&TimerSignalHandler_InitOnce, InstallTimerSignalHandler, NULL, NULL);
|
||||
ZeroMemory(&sigev, sizeof(struct sigevent));
|
||||
sigev.sigev_notify = SIGEV_SIGNAL;
|
||||
sigev.sigev_signo = SIGALRM;
|
||||
sigev.sigev_value.sival_ptr = (void*)timer;
|
||||
|
|
|
@ -226,10 +226,9 @@ static BOOL _CreateProcessExA(HANDLE hToken, DWORD dwLogonFlags, LPCSTR lpApplic
|
|||
#endif
|
||||
int fd;
|
||||
int sig;
|
||||
sigset_t set;
|
||||
struct sigaction act;
|
||||
sigset_t set = { 0 };
|
||||
struct sigaction act = { 0 };
|
||||
/* set default signal handlers */
|
||||
memset(&act, 0, sizeof(act));
|
||||
act.sa_handler = SIG_DFL;
|
||||
act.sa_flags = 0;
|
||||
sigemptyset(&act.sa_mask);
|
||||
|
|
|
@ -29,12 +29,12 @@ int TestThreadCreateProcess(int argc, char* argv[])
|
|||
DWORD dwCreationFlags;
|
||||
LPVOID lpEnvironment;
|
||||
LPCTSTR lpCurrentDirectory;
|
||||
STARTUPINFO StartupInfo;
|
||||
PROCESS_INFORMATION ProcessInformation;
|
||||
STARTUPINFO StartupInfo = { 0 };
|
||||
PROCESS_INFORMATION ProcessInformation = { 0 };
|
||||
LPTCH lpszEnvironmentBlock;
|
||||
HANDLE pipe_read = NULL;
|
||||
HANDLE pipe_write = NULL;
|
||||
char buf[1024];
|
||||
char buf[1024] = { 0 };
|
||||
DWORD read_bytes;
|
||||
int ret = 0;
|
||||
SECURITY_ATTRIBUTES saAttr;
|
||||
|
@ -55,9 +55,7 @@ int TestThreadCreateProcess(int argc, char* argv[])
|
|||
#endif
|
||||
lpEnvironment = lpszEnvironmentBlock;
|
||||
lpCurrentDirectory = NULL;
|
||||
ZeroMemory(&StartupInfo, sizeof(STARTUPINFO));
|
||||
StartupInfo.cb = sizeof(STARTUPINFO);
|
||||
ZeroMemory(&ProcessInformation, sizeof(PROCESS_INFORMATION));
|
||||
|
||||
status = CreateProcess(lpApplicationName, lpCommandLine, lpProcessAttributes,
|
||||
lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment,
|
||||
|
|
|
@ -38,9 +38,9 @@ typedef struct
|
|||
static BOOL WLog_UdpAppender_Open(wLog* log, wLogAppender* appender)
|
||||
{
|
||||
wLogUdpAppender* udpAppender;
|
||||
char addressString[256];
|
||||
struct addrinfo hints;
|
||||
struct addrinfo* result;
|
||||
char addressString[256] = { 0 };
|
||||
struct addrinfo hints = { 0 };
|
||||
struct addrinfo* result = { 0 };
|
||||
int status;
|
||||
size_t addrLen;
|
||||
char* colonPos;
|
||||
|
@ -61,7 +61,6 @@ static BOOL WLog_UdpAppender_Open(wLog* log, wLogAppender* appender)
|
|||
addrLen = (colonPos - udpAppender->host);
|
||||
memcpy(addressString, udpAppender->host, addrLen);
|
||||
addressString[addrLen] = '\0';
|
||||
ZeroMemory(&hints, sizeof(hints));
|
||||
hints.ai_family = AF_INET;
|
||||
hints.ai_socktype = SOCK_DGRAM;
|
||||
status = getaddrinfo(addressString, colonPos + 1, &hints, &result);
|
||||
|
|
|
@ -236,8 +236,8 @@ PCSTR winpr_inet_ntop(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBuf
|
|||
{
|
||||
if (Family == AF_INET)
|
||||
{
|
||||
struct sockaddr_in in;
|
||||
memset(&in, 0, sizeof(in));
|
||||
struct sockaddr_in in = { 0 };
|
||||
|
||||
in.sin_family = AF_INET;
|
||||
memcpy(&in.sin_addr, pAddr, sizeof(struct in_addr));
|
||||
getnameinfo((struct sockaddr*)&in, sizeof(struct sockaddr_in), pStringBuf, StringBufSize,
|
||||
|
@ -246,8 +246,8 @@ PCSTR winpr_inet_ntop(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBuf
|
|||
}
|
||||
else if (Family == AF_INET6)
|
||||
{
|
||||
struct sockaddr_in6 in;
|
||||
memset(&in, 0, sizeof(in));
|
||||
struct sockaddr_in6 in = { 0 };
|
||||
|
||||
in.sin6_family = AF_INET6;
|
||||
memcpy(&in.sin6_addr, pAddr, sizeof(struct in_addr6));
|
||||
getnameinfo((struct sockaddr*)&in, sizeof(struct sockaddr_in6), pStringBuf, StringBufSize,
|
||||
|
@ -295,12 +295,16 @@ INT winpr_inet_pton(INT Family, PCSTR pszAddrString, PVOID pAddrBuf)
|
|||
#include <netinet/tcp.h>
|
||||
#include <net/if.h>
|
||||
|
||||
#include <winpr/assert.h>
|
||||
|
||||
#ifndef MSG_NOSIGNAL
|
||||
#define MSG_NOSIGNAL 0
|
||||
#endif
|
||||
|
||||
int WSAStartup(WORD wVersionRequired, LPWSADATA lpWSAData)
|
||||
{
|
||||
WINPR_ASSERT(lpWSAData);
|
||||
|
||||
ZeroMemory(lpWSAData, sizeof(WSADATA));
|
||||
lpWSAData->wVersion = wVersionRequired;
|
||||
lpWSAData->wHighVersion = MAKEWORD(2, 2);
|
||||
|
|
|
@ -334,14 +334,12 @@ BOOL WINAPI Win32_WTSVirtualChannelRead_Static(WTSAPI_CHANNEL* pChannel, DWORD d
|
|||
else if (pChannel->readSync)
|
||||
{
|
||||
BOOL bSuccess;
|
||||
OVERLAPPED overlapped;
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
DWORD numBytesRead = 0;
|
||||
DWORD numBytesToRead = 0;
|
||||
|
||||
*lpNumberOfBytesTransferred = 0;
|
||||
|
||||
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
|
||||
|
||||
numBytesToRead = nNumberOfBytesToRead;
|
||||
|
||||
if (numBytesToRead > (pChannel->header->length - pChannel->readOffset))
|
||||
|
@ -454,14 +452,12 @@ BOOL WINAPI Win32_WTSVirtualChannelRead_Dynamic(WTSAPI_CHANNEL* pChannel, DWORD
|
|||
if (pChannel->readSync)
|
||||
{
|
||||
BOOL bSuccess;
|
||||
OVERLAPPED overlapped;
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
DWORD numBytesRead = 0;
|
||||
DWORD numBytesToRead = 0;
|
||||
|
||||
*lpNumberOfBytesTransferred = 0;
|
||||
|
||||
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
|
||||
|
||||
numBytesToRead = nNumberOfBytesToRead;
|
||||
|
||||
if (numBytesToRead > (pChannel->header->length - pChannel->readOffset))
|
||||
|
@ -581,9 +577,7 @@ BOOL WINAPI Win32_WTSVirtualChannelRead(HANDLE hChannel, DWORD dwMilliseconds, L
|
|||
|
||||
if (!pChannel->waitObjectMode)
|
||||
{
|
||||
OVERLAPPED overlapped;
|
||||
|
||||
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
|
||||
if (ReadFile(pChannel->hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesTransferred,
|
||||
&overlapped))
|
||||
|
@ -631,7 +625,7 @@ BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, LPCVOID lpBuffer,
|
|||
DWORD nNumberOfBytesToWrite,
|
||||
LPDWORD lpNumberOfBytesTransferred)
|
||||
{
|
||||
OVERLAPPED overlapped;
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel;
|
||||
|
||||
if (!pChannel || (pChannel->magic != WTSAPI_CHANNEL_MAGIC))
|
||||
|
@ -640,8 +634,6 @@ BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, LPCVOID lpBuffer,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
|
||||
|
||||
if (WriteFile(pChannel->hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesTransferred,
|
||||
&overlapped))
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in New Issue