7086 Commits

Author SHA1 Message Date
Armin Novak
4b4368fc19 [compiler,gcc] fix function pointer casts
use dedicated macro WINPR_FUNC_PTR_CAST to cast function pointers
without warnings.
2026-03-03 17:24:10 +01:00
Armin Novak
0d99896094 [core,return] improve return value checks
propagate error conditions back the call chain
2026-03-03 17:15:12 +01:00
Armin Novak
45494b02a3 [core,server] FreeRDP_WTSVirtualChannelRead checks
Properly check MessageQueue_Peek return and propagate failure.
2026-03-03 17:15:11 +01:00
akallabeth
63df758f73 Merge pull request #12414 from akallabeth/wts-fix
[core,server] Improve WTS API locking
2026-03-03 16:44:52 +01:00
Armin Novak
d079f59e55 [core,server] Improve WTS API locking
* Use InitOnceExecuteOnce to initialize global hash table for server
  handles
* Lock full function calls when manipulating global data (Hash table and
  session ID count)
2026-03-03 16:31:18 +01:00
Armin Novak
81526b19a2 [string,format] fix format strings for debug messages 2026-03-03 14:07:49 +01:00
Armin Novak
a9e0abf2ea [core,orders] improve input validation
check length before subtracting. Might underflow and be cought by the
next check, but lets be strict.
2026-03-03 13:58:52 +01:00
Armin Novak
125b1ce99e [utils,ringbuffer] fix debug log messages
Renaming some variables also in debug messages
2026-03-03 13:49:59 +01:00
Armin Novak
ce3f205cd6 [core,gateway] fix missing return checks 2026-03-03 13:49:58 +01:00
Armin Novak
17163d3738 [winpr,collections] fix PubSub_OnEvent return checks
* proper return checks on use
* fix return on invalid input arguments
* fix return on no event registered
2026-03-03 13:49:54 +01:00
Armin Novak
ba11055d66 [utils,smartcard] log all call failures
Use GNU expression statement to log a call failure if the compiler
supports that extension.
2026-03-03 11:59:14 +01:00
Armin Novak
75d8f295b4 [checks,return] Fix missing *_foreach return checks
* Check HashTable_Foreach return
* Check ArrayList_ForEach return
2026-03-03 11:07:59 +01:00
Armin Novak
b724ba546d [checks,return] fix various unchecked return values 2026-03-03 09:40:27 +01:00
Armin Novak
103e0907cc [core,caps] use getter/setter for MultifragMaxRequestSize
to ease debugging use the getter/setters instead of direct struct
access.
2026-03-03 09:30:34 +01:00
Armin Novak
4475e21b7e [codec,rfx] return nullptr if input parameters are invalid
rfx_encode_messages maxDataSize must be > 1024 or the function will
fail. Add a check to abort early if this is the case.
while this is a usage error, it is helpful to have proper error handling
in the function as well.
2026-03-03 09:30:33 +01:00
Armin Novak
35831303ea [various] add proper return checks 2026-03-02 18:32:38 +01:00
Armin Novak
8316bca9dd [winpr,stream] fix Stream_Write_UTF16_String return checks 2026-03-02 17:36:41 +01:00
Armin Novak
7d2f75881c [core,license] fix unused result warnings 2026-03-02 12:08:44 +01:00
Armin Novak
2b0637d629 [nodiscard] mark more internal functions 2026-03-02 11:57:27 +01:00
Armin Novak
be5c9bed64 [utils,pcap] check _fseeki64 return 2026-03-02 11:57:23 +01:00
Armin Novak
e6fca2c021 [winpr,stream] Fix Stream_SetPosition return checks 2026-03-02 11:37:20 +01:00
Armin Novak
0f46216a24 [winpr,ssl] check winpr_InitializeSSL return 2026-03-02 11:21:21 +01:00
Armin Novak
5a532269ef [winpr,stream] Check Stream_SetLength return 2026-03-02 11:08:08 +01:00
Armin Novak
cc5f1bbb82 [server,proxy] check for nullptr before using scard_call_context
* Make smartcard_call_cancel_all_context return FALSE if a NULL context
  is supplied.

* Do not call smartcard_call_context_signal_stop if the context is NULL
2026-03-02 09:45:27 +01:00
Armin Novak
92ab55c5e1 [winpr,stream] Add Stream_ResetPosition
A helper function that does not require return checks, in contrast to
Stream_SetPosition, which might fail.
2026-03-01 06:11:59 +01:00
Armin Novak
41c9286c3c [gdi,gfx] tighter bounds checks for gfx updates 2026-03-01 06:11:55 +01:00
Armin Novak
ffad58fd2b [cache,bitmap] overallocate bitmap cache 2026-02-28 11:53:29 +01:00
Armin Novak
6482b7a92f [codec,h264] validate rectangles before use 2026-02-28 11:53:28 +01:00
Armin Novak
eb0aa95ca4 [core,utils] abort channel reload if not allocated 2026-02-27 19:05:11 +01:00
Armin Novak
9a9c74b69e [core] add null checks
when a client instance disconnects it might have failed to allocate some
resources. So ensure all used ones are there
2026-02-27 19:05:10 +01:00
Armin Novak
486caf5516 [winpr] fix InitializeCriticalSectionAndSpinCount
Check return values when used.
2026-02-27 15:52:34 +01:00
Armin Novak
7b47aac9e6 [core,rdp] fix return checks for PubSub_OnErrorInfo 2026-02-27 15:52:31 +01:00
Armin Novak
72b2d745ec [primitives,opencl] ignore initialization errors
When initializing primitives treat primitives_init_opencl_context
failures as support not available, but return success for
initialization.
2026-02-27 15:52:30 +01:00
Armin Novak
ea77d2d922 [nodiscard] fix all InitOnceExecuteOnce usages 2026-02-27 15:52:28 +01:00
Armin Novak
5e18b0149a [primitives,test] drop ALIGN macro 2026-02-27 15:52:27 +01:00
Armin Novak
89ab3c6c1b [nodiscard] Fix all winpr_RAND usages
* Check return value and act on it.
* Initialize arrays that were missed before.
2026-02-27 15:52:26 +01:00
Armin Novak
5c510af477 [c23,freerdp] replace NULL with nullptr 2026-02-26 15:06:27 +01:00
akallabeth
4ebe580c57 Merge pull request #12380 from mfleisz/new-logonerrinfo-define
[libfreerdp] Add new define for logon error info
2026-02-26 14:33:27 +01:00
Martin Fleisz
5146a13587 [libfreerdp] Add new defines for logon error info 2026-02-26 14:17:18 +01:00
Armin Novak
699ffa9da1 [crypto,certificate] add sanity checks to certificate_new_x509_certificate_chain
Check provided data and abort early if the values are not matching the
data received.
2026-02-26 13:46:57 +01:00
Armin Novak
10dc90cca7 [core,update] reset update->us immediately 2026-02-26 13:46:57 +01:00
Armin Novak
e58819830a [c23] simplify boolean checks 2026-02-26 11:51:05 +01:00
Armin Novak
0531803808 [warnings] make function declaration names consistent
Use the same parameter names for declaration and implementation.
2026-02-26 10:35:25 +01:00
Armin Novak
96be117f97 [core,gateway] fix rts_read_common_pdu_header
The function does not return BOOL but 3 possible conditions, so use a
proper enum type for this.
2026-02-26 08:49:42 +01:00
Armin Novak
166a569784 [core,gateway] ignore incomplete rpc header 2026-02-25 22:52:26 +01:00
Armin Novak
01d680a081 [codec,fdk] revert use of WinPR types
Due to naming collissions no WinPR header may be included here.
2026-02-25 20:05:42 +01:00
akallabeth
6dfad2077c Merge pull request #12372 from akallabeth/gw-policy-deny
[core,utils] ignore NULL values in remove_rdpdr_type
2026-02-25 20:02:41 +01:00
Armin Novak
7591cd8e51 [core,utils] ignore NULL values in remove_rdpdr_type
if there are no redirected devices of given type ignore the NULL value
and return success.
2026-02-25 19:53:00 +01:00
Armin Novak
208bcbd153 [winpr] Add initializer functions
* Add initializer for wStream
* Add initializer for ASN1 decoder
2026-02-25 19:39:24 +01:00
Armin Novak
48267edf2f [winpr] add WINPR_C_ARRAY_INIT
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00