diff --git a/winpr/libwinpr/utils/json/json.c b/winpr/libwinpr/utils/json/json.c index 3fc99dfa0..160e25425 100644 --- a/winpr/libwinpr/utils/json/json.c +++ b/winpr/libwinpr/utils/json/json.c @@ -32,13 +32,11 @@ #if defined(WITH_CJSON) #if CJSON_VERSION_MAJOR == 1 -#if CJSON_VERSION_MINOR <= 7 -#if CJSON_VERSION_PATCH < 13 +#if (CJSON_VERSION_MINOR < 7) || ((CJSON_VERSION_MINOR == 7) && (CJSON_VERSION_PATCH < 13)) #define USE_CJSON_COMPAT #endif #endif #endif -#endif #if defined(WITH_JSONC) #if JSON_C_MAJOR_VERSION == 0 @@ -617,7 +615,14 @@ BOOL WINPR_JSON_AddItemToArray(WINPR_JSON* array, WINPR_JSON* item) return FALSE; return TRUE; #elif defined(WITH_CJSON) +#if defined(USE_CJSON_COMPAT) + if ((array == NULL) || (item == NULL)) + return FALSE; + cJSON_AddItemToArray((cJSON*)array, (cJSON*)item); + return TRUE; +#else return cJSON_AddItemToArray((cJSON*)array, (cJSON*)item); +#endif #else WINPR_UNUSED(array); WINPR_UNUSED(item);