Commit Graph

165 Commits

Author SHA1 Message Date
Armin Novak
e5767f07ac Refactored order updates
Unified order creation/copy/delete to avoid memory leaks.
2018-05-02 08:54:21 +02:00
Mariusz Zaborski
0e25335c8f Don't assume that the pointer function are set. 2018-04-11 16:12:39 +02:00
Armin Novak
e0d112d548 Removed all calls to WLog_Init and WLog_Uninit
Since the calls are no longer required remove their usage.
2018-04-03 13:06:41 +02:00
Ondrej Holy
e9ffff56bc cache: Use Bitmap_Free instead of free
Bitmap_Alloc is used to allocate memory of bitmap, Bitmap_Free should
be used to release that memory. Let's change free to Bitmap_Free.

https://github.com/FreeRDP/FreeRDP/issues/4117
2017-09-07 09:38:44 +02:00
Ondrej Holy
5d6e2078c7 cache: Check return value from offscreen_cache_get
Currently, SetSurface is called regardless of return value from
offscreen_cache_get. It may happen that bitmap is not found in a
cache from some reason, which may lead to segfaults. Let's check
the returned value before use.

https://github.com/FreeRDP/FreeRDP/issues/4117
2017-09-07 09:38:44 +02:00
weizhenwei
873bb26f2e fix a memroy leak on rdpBitmap free 2017-06-21 15:26:27 +08:00
Armin Novak
6649eed659 Fixed missing argument checks. 2017-05-17 15:58:32 +02:00
David Fort
17a4e95a5b Drop some annoying warning
Probably that some unused functions should be removed, but at least it makes
it compile with no warnings.
2017-05-12 13:54:16 +02:00
Armin Novak
b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Armin Novak
5c446dd5c3 Fixed missing NULL checks. 2016-10-19 11:11:35 +02:00
Armin Novak
fa71427c6b Removed unused function. 2016-10-10 11:33:31 +02:00
Armin Novak
eecc4b189f Fixed leak in bitmap handling. 2016-10-10 10:42:14 +02:00
Armin Novak
bc69730863 Fixed memory leak in pointer free. 2016-10-10 10:42:14 +02:00
Armin Novak
2cf5f1b0ba Fixed missing NULL pointer checks. 2016-10-06 13:43:14 +02:00
Armin Novak
dd676c7b29 Fixed missing NULL checks. 2016-10-06 13:43:13 +02:00
Armin Novak
161685b25c Fixed some more glyph chache bugs. 2016-10-06 13:43:11 +02:00
Armin Novak
0c57065c73 GlyphCache: Erasing destination if not redundant. 2016-10-06 13:43:11 +02:00
Armin Novak
416801a106 Fixed warning. 2016-10-06 13:43:10 +02:00
Armin Novak
f16ffaefa7 Fixed glyph cache issues. 2016-10-06 13:43:08 +02:00
Armin Novak
0d56de57c4 Glyph offset fix. 2016-10-06 13:43:08 +02:00
Armin Novak
b765374d32 Refactored BitBlt, implementing everything now. 2016-10-06 13:43:08 +02:00
Armin Novak
a978ccc0bb Added argument checks. 2016-10-06 13:43:07 +02:00
Armin Novak
867528015a Simplified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
032bdef955 Unified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
b8ff3cb235 Fixed (a lot of) GDI drawing issues. 2016-10-06 13:43:03 +02:00
Armin Novak
3f90966da6 Bug fixes. 2016-10-06 13:43:03 +02:00
Armin Novak
e650fdb2b6 Bugfixes. 2016-10-06 13:43:02 +02:00
Armin Novak
17fd5526ac Cleanups. 2016-10-06 13:43:02 +02:00
Armin Novak
7a20ff5c30 Refactored bitmap API. 2016-10-06 13:43:02 +02:00
Armin Novak
8b69b16cbb Refactored Glyph API. 2016-10-06 13:43:02 +02:00
Armin Novak
9d5ca34d0d Fixed pointer initialisation for X11. 2016-10-06 13:43:02 +02:00
Armin Novak
c229a1939d Updated codec API, unified drawing order color decoding. 2016-10-06 13:43:02 +02:00
Armin Novak
f9a89ae6b4 Bug fixes, refactoring. 2016-10-06 13:43:01 +02:00
Armin Novak
e860fde4bc Fixed function arguments. 2016-10-06 13:43:00 +02:00
Armin Novak
d98677094e Fixed warnings. 2016-10-06 13:43:00 +02:00
Armin Novak
e1c3adf61f freerdp_image_copy fixes, 8bit color improvements. 2016-10-06 13:42:59 +02:00
Armin Novak
48d1b4ee13 Fixed color ordering for GDI. 2016-10-06 13:42:59 +02:00
Armin Novak
0e7bb508c1 Bitmaps now remember their format. 2016-10-06 13:42:59 +02:00
Armin Novak
df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
Giovanni Panozzo
1dea98026a Fix char signedness in glyph offset calculation, fixes #2137 2016-02-21 18:15:32 +01:00
Daniel Bungert
32e2f81cc5 Clamp ultra-wide glyph opRight vals to desktop width 2015-10-14 14:16:19 -06:00
Giovanni Panozzo
85b5c5f890 Signed glyph offset calculation, fixes #2137 2015-06-25 16:49:29 +02:00
Bernhard Miklautz
5de0e02c61 cache: fix regression
Fix a regression in cache_new introduced in commit
b4f147e242ea396ef92082d29866e5ab7d041b4e
2015-06-22 19:21:47 +02:00
David FORT
7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Norbert Federa
535a4352a7 shadow/client context cleanup and unused vars fix 2015-05-21 16:05:05 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Bernhard Miklautz
2c072d33d3 Fix GDI return values and other fixes
* top level GDI functions return 0 on error and != 0 otherwise but the
  low level functions (16bpp.c, 8bpp.c 32bpp.c) which are called did it
	exactly the other way around. Those were adapted.
* change gdi_InvalidateRegion to BOOL and check calls where appropriate
* integrate comments from pull request
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
515502ffa5 change return types of callbacks to BOOL
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
d625edbe97 gfx/pointer: add support to set pointer
Extend rdp_pointer with function SetPosition. Can then be used by
clients support setting pointer by server which might be used in
shadowing scenarios.
2015-02-02 10:57:31 +01:00
Marc-André Moreau
ee5a354328 freerdp: more valgrind fixes 2014-12-27 15:34:45 -05:00
Norbert Federa
a7c90e16a3 cache: fixes for GlyphIndex, FastIndex & FastGlyph
* update_process_glyph_fragments() ignored the text background rectangle

* moved the OpRight value fix-up to update_process_glyph_fragments() since
  it is required for all glyph primary drawing orders
2014-12-05 18:28:43 +01:00
Marc-André Moreau
fdd2dc7601 freerdp: patch valgrind leaks, cleanup 2014-12-03 14:17:27 -05:00
Armin Novak
cef228d0f4 Fixed memory leak. 2014-11-16 15:54:37 +01:00
Norbert Federa
62dbcac0c7 xfreerdp: fix glyph index primary drawing order
The fOpRedundant field of the GlyphIndex primary drawing order
(MS-RDPEGDI, chapter 2.2.2.2.1.1.2.13) was neglected which resulted in some
severe text rendering errors.
2014-10-29 20:56:26 +01:00
Marc-André Moreau
2a5192b027 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	client/Windows/wf_cliprdr.h
	client/Windows/wf_event.h
	client/X11/xf_client.c
	client/X11/xf_gdi.c
	libfreerdp/gdi/gdi.c
	server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
73471eb1f0 libfreerdp-gdi: fix 8bpp mode 2014-09-17 18:30:09 -04:00
Armin Novak
06b609062d Removed remaining printf and DEBUG_* usages. 2014-09-15 09:01:05 +02:00
Armin Novak
2f519d7f16 Replaced logging in libfreerdp with wlog defines. 2014-09-15 08:48:46 +02:00
Marc-André Moreau
f693ff42d7 Merge pull request #2097 from awakecoding/egfx
GDI Bitmap Update Optimization
2014-09-12 15:12:52 -04:00
Marc-André Moreau
efd9b8f7a9 libfreerdp-cache: fix 15bpp 2014-09-12 01:11:40 -04:00
Marc-André Moreau
5b2a465ee6 libfreerdp-gdi: start optimizing gdi bitmap update 2014-09-11 20:12:32 -04:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Marc-André Moreau
4d3ea77972 Merge pull request #1917 from SBoyNumber1/BitmapCacheV3OnAndroid
Added detect of uncompressed data in CACHE_BITMAP_REV3_ORDER. According ...
2014-07-11 16:35:11 -04:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Marc-André Moreau
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
SBoyNumber1
473e6cd90a Update bitmap.c
Third try to make Windows build.
2014-06-23 12:02:41 +03:00
SBoyNumber1
d0fc5227a0 Update bitmap.c 2014-06-21 15:23:24 +03:00
SBoyNumber1
5bbba65bbb Added detect of uncompressed data in CACHE_BITMAP_REV3_ORDER. According to example from http://msdn.microsoft.com/en-us/library/gg441209.aspx. 2014-06-20 19:33:30 +03:00
Marc-André Moreau
769502ec72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-26 13:47:01 -04:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Marc-André Moreau
784e9abd79 cmake: improve __FILE__ relative path hack 2014-04-21 14:42:24 -04:00
Marc-André Moreau
cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Marc-André Moreau
edb218df90 libfreerdp-cache: refactor code style 2013-11-03 13:51:41 -05:00
Marc-André Moreau
3cdc490bf4 libfreerdp-cache: refactor glyph cache and add logging 2013-11-01 10:01:16 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
74c5fa8015 Merge pull request #1501 from bmiklautz/stable-sync
Merged changes from stable-1.1
2013-09-25 08:27:36 -07:00
Bernhard Miklautz
c99d9ee72b core/glyph: copy data when adding glyph to cache
fixes #1500
2013-09-24 23:25:18 +02:00
Daryl Poe
2a9610bbfe apply glyph fragment offset after fragment
(cherry picked from commit eb2f3a02b4)
2013-09-23 10:01:42 +02:00
Armin Novak
1f4205a04e Fixed unchecked free in glyph.c (related to #1428) 2013-09-06 11:35:54 +02:00
Armin Novak
35a558be9e Fixed memory leak. 2013-09-05 12:14:34 +02:00
Armin Novak
f553b04bf0 Fixed memory leak. 2013-09-05 12:14:34 +02:00
Daryl Poe
25e4437340 cover the case of servers asking for cached bitmaps they have never defined
(cherry picked from commit 46a691db02)
2013-07-26 11:46:20 +02:00
Bernhard Miklautz
554268674c cache and core: set pointer to NULL after free 2013-06-28 15:18:20 +02:00
Bernhard Miklautz
1c2506f937 pointer cache: fixed double free 2013-06-28 15:17:37 +02:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Marc-André Moreau
e18a0b807f libfreerdp-core: fix async updates with palettes 2013-02-03 16:19:25 -05:00
Marc-André Moreau
db331d64f7 libfreerdp-core: fix message queue ids, fix async glyph messages 2013-02-03 12:41:59 -05:00
Marc-André Moreau
a1f23d0f97 libfreerdp-core: cleanup memory management of secondary orders 2013-01-28 18:42:32 -05:00
rdp.effort
4d90284657 Renamed CODEC_ID_NONE to RDP_CODEC_ID_NONE as it is already defined in
avcodecs.h
Fixed a warning in schannel_openssl.c
Added checks for: input, mcs, tpdu, certificate, license
2013-01-12 14:49:01 +01:00
Marc-André Moreau
84f358d3ce Merge pull request #812 from bmiklautz/versioning
build: fixed library versioning
2012-11-25 12:29:29 -08:00
Marc-André Moreau
8a32de3801 libfreerdp: purged source tree from deprecated memory utils 2012-11-21 21:22:06 -05:00
Marc-André Moreau
5e77cefb08 libfreerdp-utils: removed part of the deprecated calls to xzalloc 2012-11-19 23:49:08 -05:00
Bernhard Miklautz
9a33dbe826 build: fixed library versioning
Split version numbers into:
FREERDP_API_VERSION - the version of the API which is major.minor
FREERDP_VERSION - version of a release consisting of major.minor.revision (e.g. 1.1.0)
FREERDP_VERSION_FULL - like FREERDP_VERSION but with an optional "build" suffix (e.g 1.1.0-dev)
2012-11-18 17:07:33 +01:00
Marc-André Moreau
8544716104 libfreerdp-core: rdpSettings refactoring (part 3) 2012-11-07 18:23:33 -05:00
Marc-André Moreau
6427c9dd90 libfreerdp-core: rdpSettings refactoring (part 2) 2012-11-07 15:13:14 -05:00
Marc-André Moreau
ebc09d17d8 libfreerdp-core: started refactoring rdpSettings 2012-11-07 10:33:06 -05:00
Marc-André Moreau
639bb0d79d cmake: started simplifying monolithic build option 2012-10-13 15:20:39 -04:00