[build] fix Wmismatched-deallocator warnings

With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
This commit is contained in:
akallabeth 2024-02-04 11:11:29 +01:00 committed by akallabeth
parent 763462d0a9
commit ba8cf8cf21
64 changed files with 266 additions and 8 deletions

View File

@ -415,7 +415,10 @@ ainput_server_context* ainput_server_context_new(HANDLE vcm)
goto fail;
return &ainput->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
ainput_server_context_free(&ainput->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -609,7 +609,10 @@ DispServerContext* disp_server_context_new(HANDLE vcm)
priv->isReady = FALSE;
return context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
disp_server_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -613,7 +613,10 @@ LocationServerContext* location_server_context_new(HANDLE vcm)
return &location->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
location_server_context_free(&location->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -3552,7 +3552,10 @@ RdpdrServerContext* rdpdr_server_context_new(HANDLE vcm)
return context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdpdr_server_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -590,7 +590,10 @@ CamDevEnumServerContext* cam_dev_enum_server_context_new(HANDLE vcm)
return &enumerator->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
cam_dev_enum_server_context_free(&enumerator->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -947,7 +947,10 @@ CameraDeviceServerContext* camera_device_server_context_new(HANDLE vcm)
return &device->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
camera_device_server_context_free(&device->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -82,7 +82,10 @@ RdpeiServerContext* rdpei_server_context_new(HANDLE vcm)
return ret;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdpei_server_context_free(ret);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -705,7 +705,10 @@ MouseCursorServerContext* mouse_cursor_server_context_new(HANDLE vcm)
return &mouse_cursor->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
mouse_cursor_server_context_free(&mouse_cursor->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1749,7 +1749,10 @@ RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm)
priv->activeCapSet = empty;
return context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdpgfx_server_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1069,7 +1069,10 @@ RdpsndServerContext* rdpsnd_server_context_new(HANDLE vcm)
priv->ownThread = TRUE;
return context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdpsnd_server_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -421,7 +421,10 @@ TelemetryServerContext* telemetry_server_context_new(HANDLE vcm)
return &telemetry->context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
telemetry_server_context_free(&telemetry->context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2425,7 +2425,10 @@ xfClipboard* xf_clipboard_new(xfContext* xfc, BOOL relieveFilenameRestriction)
return clipboard;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
xf_clipboard_free(clipboard);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -363,7 +363,10 @@ xfFloatbar* xf_floatbar_new(xfContext* xfc, Window window, const char* name, DWO
XFreeStringList(missingList);
return floatbar;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
xf_floatbar_free(floatbar);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2453,7 +2453,10 @@ CliprdrFileContext* cliprdr_file_context_new(void* context)
return file;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
cliprdr_file_context_free(file);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2644,7 +2644,10 @@ rdpFile* freerdp_client_rdp_file_new_ex(DWORD flags)
return file;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_client_rdp_file_free(file);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
void freerdp_client_rdp_file_free(rdpFile* file)

View File

@ -48,7 +48,7 @@ extern "C"
FREERDP_API freerdp_certificate_store_result freerdp_certificate_store_contains_data(
rdpCertificateStore* store, const rdpCertificateData* data);
WINPR_ATTR_MALLOC(freerdp_certificate_store_free, 1)
WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
FREERDP_API rdpCertificateData*
freerdp_certificate_store_load_data(rdpCertificateStore* store, const char* host, UINT16 port);

View File

@ -383,8 +383,10 @@ rdpBitmapCache* bitmap_cache_new(rdpContext* context)
return bitmapCache;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
bitmap_cache_free(bitmapCache);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -485,7 +487,10 @@ BITMAP_UPDATE* copy_bitmap_update(rdpContext* context, const BITMAP_UPDATE* poin
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_bitmap_update(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -510,7 +515,10 @@ CACHE_BITMAP_ORDER* copy_cache_bitmap_order(rdpContext* context, const CACHE_BIT
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_order(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -544,7 +552,10 @@ CACHE_BITMAP_V2_ORDER* copy_cache_bitmap_v2_order(rdpContext* context,
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_v2_order(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -578,7 +589,10 @@ CACHE_BITMAP_V3_ORDER* copy_cache_bitmap_v3_order(rdpContext* context,
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_v3_order(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -270,7 +270,10 @@ rdpBrushCache* brush_cache_new(rdpContext* context)
return brushCache;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
brush_cache_free(brushCache);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -73,7 +73,10 @@ rdpCache* cache_new(rdpContext* context)
return cache;
error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
cache_free(cache);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -103,7 +106,10 @@ CACHE_COLOR_TABLE_ORDER* copy_cache_color_table_order(rdpContext* context,
*dst = *order;
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_color_table_order(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -131,7 +137,10 @@ SURFACE_BITS_COMMAND* copy_surface_bits_command(rdpContext* context,
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_surface_bits_command(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -710,7 +710,10 @@ rdpGlyphCache* glyph_cache_new(rdpContext* context)
return glyphCache;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
glyph_cache_free(glyphCache);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -145,7 +145,10 @@ rdpNineGridCache* nine_grid_cache_new(rdpContext* context)
return nine_grid;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
nine_grid_cache_free(nine_grid);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -218,7 +218,10 @@ rdpOffscreenCache* offscreen_cache_new(rdpContext* context)
return offscreenCache;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
offscreen_cache_free(offscreenCache);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -136,6 +136,9 @@ PALETTE_UPDATE* copy_palette_update(rdpContext* context, const PALETTE_UPDATE* p
*dst = *pointer;
return dst;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_palette_update(context, dst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -368,7 +368,10 @@ rdpBulk* bulk_new(rdpContext* context)
return bulk;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
bulk_free(bulk);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -637,7 +637,10 @@ FREERDP_DSP_CONTEXT* freerdp_dsp_ffmpeg_context_new(BOOL encode)
context->channelmix = Stream_New(NULL, 1024);
if (!context->channelmix)
{
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_dsp_ffmpeg_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
context->encoder = encode;

View File

@ -691,7 +691,10 @@ H264_CONTEXT* h264_context_new(BOOL Compressor)
return h264;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
h264_context_free(h264);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1378,7 +1378,10 @@ rdpAssistanceFile* freerdp_assistance_file_new(void)
return file;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_assistance_file_free(file);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -804,7 +804,10 @@ rdpAad* aad_new(rdpContext* context, rdpTransport* transport)
return aad;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
aad_free(aad);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -163,7 +163,10 @@ rdpChannels* freerdp_channels_new(freerdp* instance)
return channels;
error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_channels_free(channels);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -164,7 +164,10 @@ HttpContext* http_context_new(void)
return context;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
http_context_free(context);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -1502,7 +1505,10 @@ HttpResponse* http_response_new(void)
response->TransferEncoding = TransferEncodingIdentity;
return response;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
http_response_free(response);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2228,7 +2228,10 @@ rdpRdg* rdg_new(rdpContext* context)
return rdg;
rdg_alloc_error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdg_free(rdg);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -957,7 +957,10 @@ rdpRpc* rpc_new(rdpTransport* transport)
return rpc;
out_free:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rpc_free(rpc);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1194,7 +1194,10 @@ RpcClient* rpc_client_new(rdpContext* context, UINT32 max_recv_frag)
obj->fnObjectFree = rpc_array_client_call_free;
return client;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rpc_client_free(client);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -833,7 +833,10 @@ rdpWst* wst_new(rdpContext* context)
return wst;
wst_alloc_error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
wst_free(wst);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2697,7 +2697,10 @@ rdpLicense* license_new(rdpRdp* rdp)
return license;
out_error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
license_free(license);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1988,9 +1988,10 @@ rdpNla* nla_new(rdpContext* context, rdpTransport* transport)
return nla;
cleanup:
credssp_auth_free(nla->auth);
free(nla->identity);
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
nla_free(nla);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2234,7 +2234,10 @@ static CACHE_BITMAP_ORDER* update_read_cache_bitmap_order(rdpUpdate* update, wSt
cache_bitmap->compressed = compressed;
return cache_bitmap;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_order(update->context, cache_bitmap);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -2376,7 +2379,10 @@ static CACHE_BITMAP_V2_ORDER* update_read_cache_bitmap_v2_order(rdpUpdate* updat
cache_bitmap_v2->compressed = compressed;
return cache_bitmap_v2;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_v2_order(update->context, cache_bitmap_v2);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -2522,7 +2528,10 @@ static CACHE_BITMAP_V3_ORDER* update_read_cache_bitmap_v3_order(rdpUpdate* updat
Stream_Read(s, bitmapData->data, bitmapData->length);
return cache_bitmap_v3;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_bitmap_v3_order(update->context, cache_bitmap_v3);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -2595,7 +2604,10 @@ static CACHE_COLOR_TABLE_ORDER* update_read_cache_color_table_order(rdpUpdate* u
return cache_color_table;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_cache_color_table_order(update->context, cache_color_table);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2362,7 +2362,10 @@ rdpRdp* rdp_new(rdpContext* context)
return rdp;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
rdp_free(rdp);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1953,6 +1953,9 @@ rdpPeerChannel* server_channel_common_new(freerdp_peer* client, UINT16 index, UI
strncpy(channel->channelName, name, ARRAYSIZE(channel->channelName) - 1);
return channel;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
server_channel_common_free(channel);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1603,7 +1603,10 @@ rdpTransport* transport_new(rdpContext* context)
return transport;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
transport_free(transport);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -231,7 +231,10 @@ BITMAP_UPDATE* update_read_bitmap_update(rdpUpdate* update, wStream* s)
return bitmapUpdate;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_bitmap_update(update->context, bitmapUpdate);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -289,7 +292,10 @@ PALETTE_UPDATE* update_read_palette(rdpUpdate* update, wStream* s)
return palette_update;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_palette_update(update->context, palette_update);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -343,7 +349,10 @@ POINTER_POSITION_UPDATE* update_read_pointer_position(rdpUpdate* update, wStream
Stream_Read_UINT16(s, pointer_position->yPos); /* yPos (2 bytes) */
return pointer_position;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_position_update(update->context, pointer_position);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -362,7 +371,10 @@ POINTER_SYSTEM_UPDATE* update_read_pointer_system(rdpUpdate* update, wStream* s)
Stream_Read_UINT32(s, pointer_system->type); /* systemPointerType (4 bytes) */
return pointer_system;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_system_update(update->context, pointer_system);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -509,7 +521,10 @@ POINTER_COLOR_UPDATE* update_read_pointer_color(rdpUpdate* update, wStream* s, B
return pointer_color;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_color_update(update->context, pointer_color);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -635,7 +650,10 @@ POINTER_LARGE_UPDATE* update_read_pointer_large(rdpUpdate* update, wStream* s)
return pointer;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_large_update(update->context, pointer);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -665,7 +683,10 @@ POINTER_NEW_UPDATE* update_read_pointer_new(rdpUpdate* update, wStream* s)
return pointer_new;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_new_update(update->context, pointer_new);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -684,7 +705,10 @@ POINTER_CACHED_UPDATE* update_read_pointer_cached(rdpUpdate* update, wStream* s)
Stream_Read_UINT16(s, pointer->cacheIndex); /* cacheIndex (2 bytes) */
return pointer;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
free_pointer_cached_update(update->context, pointer);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -3234,7 +3258,10 @@ rdpUpdate* update_new(rdpRdp* rdp)
return &update->common;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
update_free(&update->common);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -30,6 +30,10 @@
#include <winpr/stream.h>
#include "../cache/bitmap.h"
#include "../cache/palette.h"
#include "../cache/pointer.h"
#define UPDATE_TYPE_ORDERS 0x0000
#define UPDATE_TYPE_BITMAP 0x0001
#define UPDATE_TYPE_PALETTE 0x0002
@ -180,16 +184,29 @@ FREERDP_LOCAL BOOL update_recv_play_sound(rdpUpdate* update, wStream* s);
FREERDP_LOCAL BOOL update_recv_pointer(rdpUpdate* update, wStream* s);
FREERDP_LOCAL BOOL update_recv(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_bitmap_update, 2)
FREERDP_LOCAL BITMAP_UPDATE* update_read_bitmap_update(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_palette_update, 2)
FREERDP_LOCAL PALETTE_UPDATE* update_read_palette(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_pointer_system_update, 2)
FREERDP_LOCAL POINTER_SYSTEM_UPDATE* update_read_pointer_system(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_pointer_position_update, 2)
FREERDP_LOCAL POINTER_POSITION_UPDATE* update_read_pointer_position(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_pointer_color_update, 2)
FREERDP_LOCAL POINTER_COLOR_UPDATE* update_read_pointer_color(rdpUpdate* update, wStream* s,
BYTE xorBpp);
WINPR_ATTR_MALLOC(free_pointer_large_update, 2)
FREERDP_LOCAL POINTER_LARGE_UPDATE* update_read_pointer_large(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_pointer_new_update, 2)
FREERDP_LOCAL POINTER_NEW_UPDATE* update_read_pointer_new(rdpUpdate* update, wStream* s);
WINPR_ATTR_MALLOC(free_pointer_cached_update, 2)
FREERDP_LOCAL POINTER_CACHED_UPDATE* update_read_pointer_cached(rdpUpdate* update, wStream* s);
FREERDP_LOCAL BOOL update_read_refresh_rect(rdpUpdate* update, wStream* s);

View File

@ -164,7 +164,10 @@ rdpCertificateStore* freerdp_certificate_store_new(const rdpSettings* settings)
return store;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_certificate_store_free(store);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -288,7 +288,10 @@ rdpPrivateKey* freerdp_key_clone(const rdpPrivateKey* key)
return _key;
out_fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
freerdp_key_free(_key);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -2683,7 +2683,10 @@ SmartcardEmulationContext* Emulate_New(const rdpSettings* settings)
return smartcard;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
Emulate_Free(smartcard);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -1901,7 +1901,10 @@ scard_call_context* smartcard_call_context_new(const rdpSettings* settings)
return ctx;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
smartcard_call_context_free(ctx);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -83,7 +83,10 @@ ChannelStateTracker* channelTracker_new(pServerStaticChannelContext* channel,
return ret;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
channelTracker_free(ret);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -329,7 +329,10 @@ proxyData* proxy_data_new(void)
return pdata;
error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
proxy_data_free(pdata);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -959,7 +959,10 @@ proxyServer* pf_server_new(const proxyConfig* config)
return server;
out:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
pf_server_free(server);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -237,7 +237,10 @@ rdpShadowCapture* shadow_capture_new(rdpShadowServer* server)
if (!InitializeCriticalSectionAndSpinCount(&(capture->lock), 4000))
{
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
shadow_capture_free(capture);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -85,7 +85,10 @@ rdpShadowScreen* shadow_screen_new(rdpShadowServer* server)
return screen;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
shadow_screen_free(screen);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -37,6 +37,8 @@
_Pragma("clang diagnostic ignored \"-Wunused-const-variable\"")
#define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_SECURITY \
_Pragma("clang diagnostic ignored \"-Wformat-security\"")
#define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC \
_Pragma("clang diagnostic ignored \"-Wmismatched-dealloc\"")
#define WINPR_PRAGMA_DIAG_POP _Pragma("clang diagnostic pop")
#elif defined(__GNUC__)
#define WINPR_PRAGMA_DIAG_PUSH _Pragma("GCC diagnostic push")
@ -54,6 +56,8 @@
_Pragma("GCC diagnostic ignored \"-Wunused-const-variable\"")
#define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_SECURITY \
_Pragma("GCC diagnostic ignored \"-Wformat-security\"")
#define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC \
_Pragma("GCC diagnostic ignored \"-Wmismatched-dealloc\"")
#define WINPR_PRAGMA_DIAG_POP _Pragma("GCC diagnostic pop")
#else
#define WINPR_PRAGMA_DIAG_PUSH
@ -64,6 +68,7 @@
#define WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST
#define WINPR_PRAGMA_DIAG_IGNORED_UNUSED_CONST_VAR
#define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_SECURITY
#define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
#define WINPR_PRAGMA_DIAG_POP
#endif

View File

@ -64,12 +64,10 @@ struct winpr_rc4_ctx_private_st
static WINPR_RC4_CTX* winpr_RC4_New_Internal(const BYTE* key, size_t keylen, BOOL override_fips)
{
WINPR_RC4_CTX* ctx = NULL;
if (!key || (keylen == 0))
return NULL;
ctx = calloc(1, sizeof(WINPR_RC4_CTX));
WINPR_RC4_CTX* ctx = (WINPR_RC4_CTX*)calloc(1, sizeof(WINPR_RC4_CTX));
if (!ctx)
return NULL;
@ -111,7 +109,11 @@ static WINPR_RC4_CTX* winpr_RC4_New_Internal(const BYTE* key, size_t keylen, BOO
return ctx;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
winpr_RC4_Free(ctx);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -176,7 +176,7 @@ struct winpr_hmac_ctx_private_st
WINPR_HMAC_CTX* winpr_HMAC_New(void)
{
WINPR_HMAC_CTX* ctx = calloc(1, sizeof(WINPR_HMAC_CTX));
WINPR_HMAC_CTX* ctx = (WINPR_HMAC_CTX*)calloc(1, sizeof(WINPR_HMAC_CTX));
if (!ctx)
return NULL;
#if defined(WITH_OPENSSL)
@ -205,7 +205,10 @@ WINPR_HMAC_CTX* winpr_HMAC_New(void)
return ctx;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
winpr_HMAC_Free(ctx);
WINPR_PRAGMA_DIAG_POP
return NULL;
}
@ -473,7 +476,10 @@ WINPR_DIGEST_CTX* winpr_Digest_New(void)
return ctx;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
winpr_Digest_Free(ctx);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -585,7 +585,10 @@ wArrayList* ArrayList_New(BOOL synchronized)
InitializeCriticalSectionAndSpinCount(&arrayList->lock, 4000);
return arrayList;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
ArrayList_Free(arrayList);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -525,7 +525,10 @@ wBufferPool* BufferPool_New(BOOL synchronized, SSIZE_T fixedSize, DWORD alignmen
return pool;
out_error:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
BufferPool_Free(pool);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -184,7 +184,10 @@ wCountdownEvent* CountdownEvent_New(size_t initialCount)
return countdown;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
CountdownEvent_Free(countdown);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -792,7 +792,10 @@ wHashTable* HashTable_New(BOOL synchronized)
return table;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
HashTable_Free(table);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -258,7 +258,10 @@ wMessageQueue* MessageQueue_New(const wObject* callback)
return queue;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
MessageQueue_Free(queue);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -248,7 +248,10 @@ wPubSub* PubSub_New(BOOL synchronized)
return pubSub;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
PubSub_Free(pubSub);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -325,7 +325,10 @@ wQueue* Queue_New(BOOL synchronized, SSIZE_T capacity, SSIZE_T growthFactor)
return queue;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
Queue_Free(queue);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -235,7 +235,10 @@ wStack* Stack_New(BOOL synchronized)
return stack;
out_free:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
Stack_Free(stack);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -381,7 +381,10 @@ wStreamPool* StreamPool_New(BOOL synchronized, size_t defaultSize)
return pool;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
StreamPool_Free(pool);
WINPR_PRAGMA_DIAG_POP
return NULL;
}

View File

@ -832,7 +832,10 @@ wIniFile* IniFile_New(void)
return ini;
fail:
WINPR_PRAGMA_DIAG_PUSH
WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC
IniFile_Free(ini);
WINPR_PRAGMA_DIAG_POP
return NULL;
}