diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 07806707b..c7c679168 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -24,5 +24,6 @@ * XMPP channel: #FreeRDP#matrix.org@matrix.org (bridged) * IRC channel : #freerdp @ irc.oftc.net (bridged) * Joining our mailing list may be helpful too. +* Check the pull request builder at https://ci.freerdp.com/job/code-quality-checker/ and fix all warnings affecting your code ## Please remove this text before submitting your pull! diff --git a/libfreerdp/codec/h264_openh264.c b/libfreerdp/codec/h264_openh264.c index a68b6a750..bae3d48c6 100644 --- a/libfreerdp/codec/h264_openh264.c +++ b/libfreerdp/codec/h264_openh264.c @@ -411,7 +411,8 @@ static int openh264_compress(H264_CONTEXT* WINPR_RESTRICT h264, { for (int j = 0; j < info.sLayerInfo[i].iNalCount; j++) { - *pDstSize += info.sLayerInfo[i].pNalLengthInByte[j]; + const int val = info.sLayerInfo[i].pNalLengthInByte[j]; + *pDstSize += WINPR_ASSERTING_INT_CAST(uint32_t, val); } } diff --git a/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c b/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c index 821907b8e..ac889bb08 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c @@ -1176,7 +1176,7 @@ static void free_cmd(RDPGFX_SURFACE_COMMAND* cmd) free(cmd->data); } -static WINPR_NORETURN(void usage(const char* name)) +WINPR_NORETURN(static void usage(const char* name)) { FILE* fp = stdout; (void)fprintf(fp, "%s \n", name); diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 2638c4ac8..091656810 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -51,7 +51,8 @@ static BOOL update_string_(char** current, char* next, size_t next_len) return !next || (*current != NULL); } -BOOL freerdp_settings_get_bool(const rdpSettings* settings, FreeRDP_Settings_Keys_Bool id) +BOOL freerdp_settings_get_bool(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Bool id) { WINPR_ASSERT(settings); @@ -648,7 +649,8 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, FreeRDP_Settings_Key } } -BOOL freerdp_settings_set_bool(rdpSettings* settings, FreeRDP_Settings_Keys_Bool id, BOOL val) +BOOL freerdp_settings_set_bool(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Bool id, BOOL val) { union { @@ -1448,7 +1450,8 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, FreeRDP_Settings_Keys_Bool return TRUE; } -UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, FreeRDP_Settings_Keys_UInt16 id) +UINT16 freerdp_settings_get_uint16(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt16 id) { WINPR_ASSERT(settings); @@ -1502,7 +1505,8 @@ UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, FreeRDP_Settings } } -BOOL freerdp_settings_set_uint16(rdpSettings* settings, FreeRDP_Settings_Keys_UInt16 id, UINT16 val) +BOOL freerdp_settings_set_uint16(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt16 id, UINT16 val) { union { @@ -1578,7 +1582,8 @@ BOOL freerdp_settings_set_uint16(rdpSettings* settings, FreeRDP_Settings_Keys_UI return TRUE; } -INT16 freerdp_settings_get_int16(const rdpSettings* settings, FreeRDP_Settings_Keys_Int16 id) +INT16 freerdp_settings_get_int16(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int16 id) { WINPR_ASSERT(settings); @@ -1593,7 +1598,8 @@ INT16 freerdp_settings_get_int16(const rdpSettings* settings, FreeRDP_Settings_K } } -BOOL freerdp_settings_set_int16(rdpSettings* settings, FreeRDP_Settings_Keys_Int16 id, INT16 val) +BOOL freerdp_settings_set_int16(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int16 id, INT16 val) { union { @@ -1617,7 +1623,8 @@ BOOL freerdp_settings_set_int16(rdpSettings* settings, FreeRDP_Settings_Keys_Int return TRUE; } -UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings_Keys_UInt32 id) +UINT32 freerdp_settings_get_uint32(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt32 id) { WINPR_ASSERT(settings); @@ -2010,7 +2017,8 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings } } -BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UInt32 id, UINT32 val) +BOOL freerdp_settings_set_uint32(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt32 id, UINT32 val) { union { @@ -2530,7 +2538,8 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UI return TRUE; } -INT32 freerdp_settings_get_int32(const rdpSettings* settings, FreeRDP_Settings_Keys_Int32 id) +INT32 freerdp_settings_get_int32(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int32 id) { WINPR_ASSERT(settings); @@ -2557,7 +2566,8 @@ INT32 freerdp_settings_get_int32(const rdpSettings* settings, FreeRDP_Settings_K } } -BOOL freerdp_settings_set_int32(rdpSettings* settings, FreeRDP_Settings_Keys_Int32 id, INT32 val) +BOOL freerdp_settings_set_int32(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int32 id, INT32 val) { union { @@ -2597,7 +2607,8 @@ BOOL freerdp_settings_set_int32(rdpSettings* settings, FreeRDP_Settings_Keys_Int return TRUE; } -UINT64 freerdp_settings_get_uint64(const rdpSettings* settings, FreeRDP_Settings_Keys_UInt64 id) +UINT64 freerdp_settings_get_uint64(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt64 id) { WINPR_ASSERT(settings); @@ -2615,7 +2626,8 @@ UINT64 freerdp_settings_get_uint64(const rdpSettings* settings, FreeRDP_Settings } } -BOOL freerdp_settings_set_uint64(rdpSettings* settings, FreeRDP_Settings_Keys_UInt64 id, UINT64 val) +BOOL freerdp_settings_set_uint64(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt64 id, UINT64 val) { union { @@ -2643,7 +2655,8 @@ BOOL freerdp_settings_set_uint64(rdpSettings* settings, FreeRDP_Settings_Keys_UI return TRUE; } -INT64 freerdp_settings_get_int64(const rdpSettings* settings, FreeRDP_Settings_Keys_Int64 id) +INT64 freerdp_settings_get_int64(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int64 id) { WINPR_ASSERT(settings); @@ -2658,7 +2671,8 @@ INT64 freerdp_settings_get_int64(const rdpSettings* settings, FreeRDP_Settings_K } } -BOOL freerdp_settings_set_int64(rdpSettings* settings, FreeRDP_Settings_Keys_Int64 id, INT64 val) +BOOL freerdp_settings_set_int64(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int64 id, INT64 val) { union { @@ -2682,8 +2696,8 @@ BOOL freerdp_settings_set_int64(rdpSettings* settings, FreeRDP_Settings_Keys_Int return TRUE; } -const char* freerdp_settings_get_string(const rdpSettings* settings, - FreeRDP_Settings_Keys_String id) +const char* freerdp_settings_get_string(WINPR_ATTR_UNUSED const rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String id) { WINPR_ASSERT(settings); @@ -3313,7 +3327,8 @@ char* freerdp_settings_get_string_writable(rdpSettings* settings, FreeRDP_Settin } } -BOOL freerdp_settings_set_string_(rdpSettings* settings, FreeRDP_Settings_Keys_String id, +BOOL freerdp_settings_set_string_(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String id, const char* val, size_t len) { union @@ -3653,7 +3668,8 @@ BOOL freerdp_settings_set_string(rdpSettings* settings, FreeRDP_Settings_Keys_St return freerdp_settings_set_string_copy_(settings, id, val, len, TRUE); } -BOOL freerdp_settings_set_string_copy_(rdpSettings* settings, FreeRDP_Settings_Keys_String id, +BOOL freerdp_settings_set_string_copy_(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String id, const char* val, size_t len, BOOL cleanup) { union @@ -4092,7 +4108,8 @@ void* freerdp_settings_get_pointer_writable(rdpSettings* settings, FreeRDP_Setti } } -BOOL freerdp_settings_set_pointer(rdpSettings* settings, FreeRDP_Settings_Keys_Pointer id, +BOOL freerdp_settings_set_pointer(WINPR_ATTR_UNUSED rdpSettings* settings, + WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Pointer id, const void* val) { union diff --git a/libfreerdp/core/aad.c b/libfreerdp/core/aad.c index 9dd234ac9..f7472180e 100644 --- a/libfreerdp/core/aad.c +++ b/libfreerdp/core/aad.c @@ -393,7 +393,7 @@ static char* aad_final_digest(rdpAad* aad, WINPR_DIGEST_CTX* ctx) if (dsf <= 0) { WLog_Print(aad->log, WLOG_ERROR, "winpr_DigestSign_Final failed with %d", dsf); - return FALSE; + return NULL; } char* buffer = calloc(siglen + 1, sizeof(char)); diff --git a/libfreerdp/core/childsession.c b/libfreerdp/core/childsession.c index 8e9ae5538..c1638c35e 100644 --- a/libfreerdp/core/childsession.c +++ b/libfreerdp/core/childsession.c @@ -543,7 +543,7 @@ BIO* createChildSessionBio(void) if (!bufferedBio) { BIO_free_all(lowLevelBio); - return FALSE; + return NULL; } bufferedBio = BIO_push(bufferedBio, lowLevelBio); diff --git a/libfreerdp/core/credssp_auth.c b/libfreerdp/core/credssp_auth.c index adda839c5..77404cdde 100644 --- a/libfreerdp/core/credssp_auth.c +++ b/libfreerdp/core/credssp_auth.c @@ -829,7 +829,7 @@ static SecurityFunctionTable* auth_resolve_sspi_table(const rdpSettings* setting { WLog_ERR(TAG, "Failed to load SSPI module: %s", module_name); free(sspi_module); - return FALSE; + return NULL; } WLog_INFO(TAG, "Using SSPI Module: %s", module_name); @@ -840,7 +840,7 @@ static SecurityFunctionTable* auth_resolve_sspi_table(const rdpSettings* setting { WLog_ERR(TAG, "Failed to load SSPI module: %s, no function %s", module_name, proc_name); free(sspi_module); - return FALSE; + return NULL; } free(sspi_module); return InitSecurityInterface_ptr(); diff --git a/libfreerdp/core/listener.c b/libfreerdp/core/listener.c index 494af69bd..0b84af982 100644 --- a/libfreerdp/core/listener.c +++ b/libfreerdp/core/listener.c @@ -52,8 +52,9 @@ #define TAG FREERDP_TAG("core.listener") -static BOOL freerdp_listener_open_from_vsock(freerdp_listener* instance, const char* bind_address, - UINT16 port) +static BOOL freerdp_listener_open_from_vsock(WINPR_ATTR_UNUSED freerdp_listener* instance, + WINPR_ATTR_UNUSED const char* bind_address, + WINPR_ATTR_UNUSED UINT16 port) { #if defined(HAVE_AF_VSOCK_H) rdpListener* listener = (rdpListener*)instance->listener; diff --git a/libfreerdp/primitives/test/TestPrimitivesColors.c b/libfreerdp/primitives/test/TestPrimitivesColors.c index c44dafde5..402cd8696 100644 --- a/libfreerdp/primitives/test/TestPrimitivesColors.c +++ b/libfreerdp/primitives/test/TestPrimitivesColors.c @@ -145,13 +145,15 @@ static BOOL test_RGBToRGB_16s8u_P3AC4R_speed(void) cnv.pv = ptrs; if (!speed_test("RGBToRGB_16s8u_P3AC4R", "aligned", g_Iterations, - generic->RGBToRGB_16s8u_P3AC4R, optimized->RGBToRGB_16s8u_P3AC4R, cnv.cpv, - 64 * 2, (BYTE*)dst, 64 * 4, &roi64x64)) + (speed_test_fkt)generic->RGBToRGB_16s8u_P3AC4R, + (speed_test_fkt)optimized->RGBToRGB_16s8u_P3AC4R, cnv.cpv, 64 * 2, (BYTE*)dst, + 64 * 4, &roi64x64)) return FALSE; if (!speed_test("RGBToRGB_16s8u_P3AC4R", "unaligned", g_Iterations, - generic->RGBToRGB_16s8u_P3AC4R, optimized->RGBToRGB_16s8u_P3AC4R, cnv.cpv, - 64 * 2, ((BYTE*)dst) + 1, 64 * 4, &roi64x64)) + (speed_test_fkt)generic->RGBToRGB_16s8u_P3AC4R, + (speed_test_fkt)optimized->RGBToRGB_16s8u_P3AC4R, cnv.cpv, 64 * 2, + ((BYTE*)dst) + 1, 64 * 4, &roi64x64)) return FALSE; return TRUE; diff --git a/tools/update-settings-tests b/tools/update-settings-tests index 4ef774f68..1e05d8010 100755 --- a/tools/update-settings-tests +++ b/tools/update-settings-tests @@ -133,7 +133,7 @@ def write_getter(f, entry_dict, entry_type, entry_name, postfix, compat_dict): if isPointer: f.write(' freerdp_settings_get_pointer_writable(rdpSettings* settings, ' + typestr + ' id)\n') else: - f.write(' freerdp_settings_get_' + entry_name.lower() + '(const rdpSettings* settings, ' + typestr + ' id)\n') + f.write(' freerdp_settings_get_' + entry_name.lower() + '(WINPR_ATTR_UNUSED const rdpSettings* settings, WINPR_ATTR_UNUSED ' + typestr + ' id)\n') if isString or isPointer: ret = 'NULL'; elif 'bool' in entry_name: @@ -171,7 +171,7 @@ def write_setter(f, entry_dict, entry_type, entry_name, postfix): typestr = typestr.replace('_Uint', '_UInt') f.write('BOOL freerdp_settings_set_' + entry_name.lower()) f.write(postfix) - f.write('(rdpSettings* settings, ' + typestr + ' id, ') + f.write('(WINPR_ATTR_UNUSED rdpSettings* settings, WINPR_ATTR_UNUSED ' + typestr + ' id, ') if isString or isPointer: f.write('const ') if not isPointer: diff --git a/winpr/libwinpr/path/include/PathAllocCombine.h b/winpr/libwinpr/path/include/PathAllocCombine.h index a103d3dfa..cb55dab8f 100644 --- a/winpr/libwinpr/path/include/PathAllocCombine.h +++ b/winpr/libwinpr/path/include/PathAllocCombine.h @@ -30,7 +30,7 @@ HRESULT PATH_ALLOC_COMBINE(PCWSTR pszPathIn, PCWSTR pszMore, unsigned long dwFlags, PWSTR* ppszPathOut) { - WLog_WARN(TAG, "has known bugs and needs fixing."); + WLog_WARN("TODO", "has known bugs and needs fixing."); if (!ppszPathOut) return E_INVALIDARG; @@ -100,7 +100,7 @@ HRESULT PATH_ALLOC_COMBINE(PCWSTR pszPathIn, PCWSTR pszMore, unsigned long dwFla HRESULT PATH_ALLOC_COMBINE(PCSTR pszPathIn, PCSTR pszMore, unsigned long dwFlags, PSTR* ppszPathOut) { - WLog_WARN(TAG, "has known bugs and needs fixing."); + WLog_WARN("TODO", "has known bugs and needs fixing."); if (!ppszPathOut) return E_INVALIDARG; diff --git a/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h b/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h index 02832d858..404f7f5eb 100644 --- a/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h +++ b/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h @@ -1,4 +1,6 @@ +#include + /* #define DEFINE_UNICODE FALSE #define CUR_PATH_SEPARATOR_CHR '\\' diff --git a/winpr/libwinpr/utils/image.c b/winpr/libwinpr/utils/image.c index a5cd1ef92..87d49d9d0 100644 --- a/winpr/libwinpr/utils/image.c +++ b/winpr/libwinpr/utils/image.c @@ -715,6 +715,9 @@ SSIZE_T winpr_convert_from_jpeg(const BYTE* comp_data, size_t comp_data_bytes, U size_t stride = 1ULL * cinfo.image_width * cinfo.num_components; + if ((stride == 0) || (cinfo.image_height == 0)) + goto fail; + decomp_data = calloc(stride, cinfo.image_height); if (decomp_data) {