mirror of
https://github.com/systemd/systemd.git
synced 2025-03-03 16:58:37 +03:00
parent
6028d766d1
commit
8e2fa6e223
@ -84,6 +84,14 @@
|
||||
#define _variable_no_sanitize_address_
|
||||
#endif
|
||||
|
||||
/* Apparently there's no has_feature() call defined to check for ubsan, hence let's define this
|
||||
* unconditionally on llvm */
|
||||
#if defined(__clang__)
|
||||
#define _function_no_sanitize_float_cast_overflow_ __attribute__((no_sanitize("float-cast-overflow")))
|
||||
#else
|
||||
#define _function_no_sanitize_float_cast_overflow_
|
||||
#endif
|
||||
|
||||
/* Temporarily disable some warnings */
|
||||
#define DISABLE_WARNING_FORMAT_NONLITERAL \
|
||||
_Pragma("GCC diagnostic push"); \
|
||||
|
@ -1093,9 +1093,12 @@ JsonVariantType json_variant_type(JsonVariant *v) {
|
||||
return v->type;
|
||||
}
|
||||
|
||||
bool json_variant_has_type(JsonVariant *v, JsonVariantType type) {
|
||||
_function_no_sanitize_float_cast_overflow_ bool json_variant_has_type(JsonVariant *v, JsonVariantType type) {
|
||||
JsonVariantType rt;
|
||||
|
||||
/* Note: we turn off ubsan float cast overflo detection for this function, since it would complain
|
||||
* about our float casts but we do them explicitly to detect conversion errors. */
|
||||
|
||||
v = json_variant_dereference(v);
|
||||
if (!v)
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user