Hello,

I am new to the list, and I want to publish a bugfix.
If you call xfreerdp with invalid arguments, a segfault happens at cleanup, 
caused by the null-pointer in this line in GetExitCodeThread:
        *lpExitCode = thread->dwExitCode;

I suggest to fix the function winpr_Handle_GetInfo like this:


diff --git a/winpr/libwinpr/handle/handle.h b/winpr/libwinpr/handle/handle.h
index 5011e82..6043703 100644
--- a/winpr/libwinpr/handle/handle.h
+++ b/winpr/libwinpr/handle/handle.h
@@ -47,6 +47,9 @@ static inline BOOL winpr_Handle_GetInfo(HANDLE handle, ULONG* 
pType, PVOID* pObj
 {
        WINPR_HANDLE* wHandle;
 
+       if(handle == NULL)
+               return FALSE;
+
        wHandle = (WINPR_HANDLE*) handle;
 
        *pType = wHandle->Type;

Cheers
Chris

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to