Fix: overflow of signed integer results in undefined behaviour
[babeltrace.git] / formats / ctf / ir / fields.c
index 3ca57bb017ba097bce5517fd17735a1cbf08c168..58f69fd43cbd5e674412e05c7a4f11afe706834f 100644 (file)
@@ -928,8 +928,8 @@ int bt_ctf_field_signed_integer_set_value(struct bt_ctf_field *field,
        }
 
        size = integer_type->declaration.len;
-       min_value = -((int64_t)1 << (size - 1));
-       max_value = ((int64_t)1 << (size - 1)) - 1;
+       min_value = -(1ULL << (size - 1));
+       max_value = (1ULL << (size - 1)) - 1;
        if (value < min_value || value > max_value) {
                ret = -1;
                goto end;
This page took 0.023088 seconds and 4 git commands to generate.