compile
command_line: /opt/hostedtoolcache/cmake/4.0.3/x64/cmake-4.0.3-linux-x86_64/bin/cmake -E __run_co_compile --tidy=clang-tidy-18;--extra-arg-before=--driver-mode=gcc --source=/home/runner/work/nightly-builds/nightly-builds/src/tests.c -- /usr/bin/clang-18 -DCOMB_BLOCKS=43 -DCOMB_TEETH=6 -DECMULT_WINDOW_SIZE=15 -DENABLE_MODULE_ECDH=1 -DENABLE_MODULE_ELLSWIFT=1 -DENABLE_MODULE_EXTRAKEYS=1 -DENABLE_MODULE_MUSIG=1 -DENABLE_MODULE_SCHNORRSIG=1 -DUSE_ASM_X86_64=1 -DVERIFY -g -std=c90 -Wall -pedantic -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef -MD -MT src/CMakeFiles/tests.dir/tests.c.o -MF src/CMakeFiles/tests.dir/tests.c.o.d -o src/CMakeFiles/tests.dir/tests.c.o -c /home/runner/work/nightly-builds/nightly-builds/src/tests.c
working_directory: "/home/runner/work/nightly-builds/nightly-builds/build"
Target: tests
Target Type: EXECUTABLE
Source: /home/runner/work/nightly-builds/nightly-builds/src/tests.c
Language: C
Config: Debug
stderr:
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:65:20: warning: The left operand of '<' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
65 | no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:7067:15: note: Calling 'secp256k1_ecdsa_sig_verify'
7067 | CHECK(secp256k1_ecdsa_sig_verify(&sr, &ss, &key, &msg) == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecdsa_impl.h:204:9: note: Left side of '||' is false
204 | if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecdsa_impl.h:204:5: note: Taking false branch
204 | if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecdsa_impl.h:209:5: note: Calling 'secp256k1_scalar_mul'
209 | secp256k1_scalar_mul(&u1, &sn, message);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:861:5: note: Calling 'secp256k1_scalar_reduce_512'
861 | secp256k1_scalar_reduce_512(r, l);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:459:5: note: Loop condition is false. Exiting loop
459 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m0, sizeof(m0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:460:5: note: Loop condition is false. Exiting loop
460 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m1, sizeof(m1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:461:5: note: Loop condition is false. Exiting loop
461 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m2, sizeof(m2));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:462:5: note: Loop condition is false. Exiting loop
462 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m3, sizeof(m3));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:463:5: note: Loop condition is false. Exiting loop
463 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m4, sizeof(m4));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:464:5: note: Loop condition is false. Exiting loop
464 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m5, sizeof(m5));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:465:5: note: Loop condition is false. Exiting loop
465 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m6, sizeof(m6));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:546:5: note: Loop condition is false. Exiting loop
546 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p0, sizeof(p0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:547:5: note: Loop condition is false. Exiting loop
547 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p1, sizeof(p1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:548:5: note: Loop condition is false. Exiting loop
548 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p2, sizeof(p2));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:549:5: note: Loop condition is false. Exiting loop
549 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p3, sizeof(p3));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:550:5: note: Loop condition is false. Exiting loop
550 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p4, sizeof(p4));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:598:5: note: Loop condition is false. Exiting loop
598 | SECP256K1_CHECKMEM_MSAN_DEFINE(r, sizeof(*r));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:599:5: note: Loop condition is false. Exiting loop
599 | SECP256K1_CHECKMEM_MSAN_DEFINE(&c, sizeof(c));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:675:36: note: Calling 'secp256k1_scalar_check_overflow'
675 | secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:65:20: note: The left operand of '<' is a garbage value
65 | no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */
| ~~~~~~~ ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:48: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:5661:5: note: Calling 'test_scalar_split'
5661 | test_scalar_split(&secp256k1_scalar_zero);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:5636:5: note: Calling 'secp256k1_scalar_split_lambda'
5636 | secp256k1_scalar_split_lambda(&s1, &slam, full);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:161:5: note: Taking false branch
161 | VERIFY_CHECK(r1 != k);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:161:5: note: Loop condition is false. Exiting loop
161 | VERIFY_CHECK(r1 != k);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:162:5: note: Taking false branch
162 | VERIFY_CHECK(r2 != k);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:162:5: note: Loop condition is false. Exiting loop
162 | VERIFY_CHECK(r2 != k);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:163:5: note: Taking false branch
163 | VERIFY_CHECK(r1 != r2);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:163:5: note: Loop condition is false. Exiting loop
163 | VERIFY_CHECK(r1 != r2);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:166:5: note: Calling 'secp256k1_scalar_mul_shift_var'
166 | secp256k1_scalar_mul_shift_var(&c1, k, &g1, 384);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:896:5: note: Taking false branch
896 | VERIFY_CHECK(shift >= 256);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:896:5: note: Loop condition is false. Exiting loop
896 | VERIFY_CHECK(shift >= 256);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:898:5: note: Calling 'secp256k1_scalar_mul_512'
898 | secp256k1_scalar_mul_512(l, a, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:812:5: note: Loop condition is false. Exiting loop
812 | SECP256K1_CHECKMEM_MSAN_DEFINE(l8, sizeof(*l8) * 8);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:898:5: note: Returning from 'secp256k1_scalar_mul_512'
898 | secp256k1_scalar_mul_512(l, a, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:15: note: 'shift' is < 512
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ^~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:15: note: '?' condition is true
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:48: note: The left operand of '>>' is a garbage value
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ~~~~~~~~~~~~~~~~~ ^
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:34:9: warning: Argument to free() is the address of the local variable 'local_scratch', which is not memory allocated by malloc() [clang-analyzer-unix.Malloc]
34 | free(scratch);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:362:11: note: 'scratch' is not equal to null
362 | CHECK(scratch != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:362:5: note: Taking false branch
362 | CHECK(scratch != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:362:5: note: Loop condition is false. Exiting loop
362 | CHECK(scratch != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:365:11: note: Assuming the condition is true
365 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:365:5: note: Taking false branch
365 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:365:5: note: Loop condition is false. Exiting loop
365 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:366:5: note: Taking false branch
366 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:366:5: note: Loop condition is false. Exiting loop
366 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:367:11: note: Assuming field 'alloc_size' is equal to 0
367 | CHECK(scratch->alloc_size == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:367:5: note: Taking false branch
367 | CHECK(scratch->alloc_size == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:367:5: note: Loop condition is false. Exiting loop
367 | CHECK(scratch->alloc_size == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:368:5: note: Taking false branch
368 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:368:5: note: Loop condition is false. Exiting loop
368 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:372:5: note: Taking false branch
372 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500) != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:372:5: note: Loop condition is false. Exiting loop
372 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500) != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:373:11: note: Assuming the condition is true
373 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000 - adj_alloc);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:373:5: note: Taking false branch
373 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000 - adj_alloc);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:373:5: note: Loop condition is false. Exiting loop
373 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000 - adj_alloc);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:374:5: note: Taking false branch
374 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - adj_alloc - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:374:5: note: Loop condition is false. Exiting loop
374 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - adj_alloc - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:375:11: note: Assuming field 'alloc_size' is not equal to 0
375 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:375:5: note: Taking false branch
375 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:375:5: note: Loop condition is false. Exiting loop
375 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:376:11: note: Assuming the condition is true
376 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ~~~~~~~~~^~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:376:5: note: Taking false branch
376 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:376:5: note: Loop condition is false. Exiting loop
376 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:379:5: note: Taking false branch
379 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 501) == NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:379:5: note: Loop condition is false. Exiting loop
379 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 501) == NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:380:5: note: Taking false branch
380 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000 - adj_alloc);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:380:5: note: Loop condition is false. Exiting loop
380 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000 - adj_alloc);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:381:5: note: Taking false branch
381 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - adj_alloc - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:381:5: note: Loop condition is false. Exiting loop
381 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 1) == 1000 - adj_alloc - (ALIGNMENT - 1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:382:20: note: Field 'alloc_size' is not equal to 0
382 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:382:5: note: Taking false branch
382 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:382:5: note: Loop condition is false. Exiting loop
382 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:383:5: note: Taking false branch
383 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:383:5: note: Loop condition is false. Exiting loop
383 | CHECK(scratch->alloc_size % ALIGNMENT == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:387:5: note: Taking false branch
387 | CHECK(scratch->alloc_size == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:387:5: note: Loop condition is false. Exiting loop
387 | CHECK(scratch->alloc_size == 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:388:11: note: Assuming the condition is true
388 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:388:5: note: Taking false branch
388 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:388:5: note: Loop condition is false. Exiting loop
388 | CHECK(secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0) == 1000);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:389:5: note: Taking false branch
389 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500) != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:389:5: note: Loop condition is false. Exiting loop
389 | CHECK(secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500) != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:390:5: note: Taking false branch
390 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:390:5: note: Loop condition is false. Exiting loop
390 | CHECK(scratch->alloc_size != 0);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:395:5: note: Taking false branch
395 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, checkpoint_2)); /* checkpoint_2 is after checkpoint */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:395:5: note: Loop condition is false. Exiting loop
395 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, checkpoint_2)); /* checkpoint_2 is after checkpoint */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:395:5: note: Loop condition is false. Exiting loop
395 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, checkpoint_2)); /* checkpoint_2 is after checkpoint */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:396:5: note: Taking false branch
396 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, (size_t) -1)); /* this is just wildly invalid */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:396:5: note: Loop condition is false. Exiting loop
396 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, (size_t) -1)); /* this is just wildly invalid */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:396:5: note: Loop condition is false. Exiting loop
396 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_apply_checkpoint(&CTX->error_callback, scratch, (size_t) -1)); /* this is just wildly invalid */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:402:5: note: Taking false branch
402 | CHECK_ERROR(CTX, secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:54: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:402:5: note: Loop condition is false. Exiting loop
402 | CHECK_ERROR(CTX, secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:54: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:402:5: note: Taking false branch
402 | CHECK_ERROR(CTX, secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:402:5: note: Loop condition is false. Exiting loop
402 | CHECK_ERROR(CTX, secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:402:5: note: Loop condition is false. Exiting loop
402 | CHECK_ERROR(CTX, secp256k1_scratch_max_allocation(&CTX->error_callback, scratch, 0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:403:5: note: Taking false branch
403 | CHECK_ERROR(CTX, secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:54: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:403:5: note: Loop condition is false. Exiting loop
403 | CHECK_ERROR(CTX, secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:54: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:403:5: note: Taking false branch
403 | CHECK_ERROR(CTX, secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:403:5: note: Loop condition is false. Exiting loop
403 | CHECK_ERROR(CTX, secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:403:5: note: Loop condition is false. Exiting loop
403 | CHECK_ERROR(CTX, secp256k1_scratch_alloc(&CTX->error_callback, scratch, 500));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:79:32: note: expanded from macro 'CHECK_ERROR'
79 | #define CHECK_ERROR(ctx, expr) CHECK_ERROR_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:5: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:404:27: note: Calling 'secp256k1_scratch_space_destroy'
404 | CHECK_ERROR_VOID(CTX, secp256k1_scratch_space_destroy(CTX, scratch));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:69:39: note: expanded from macro 'CHECK_ERROR_VOID'
69 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, error_callback, secp256k1_context_set_error_callback)
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:60:7: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
60 | { expr_or_stmt; } \
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:229:18: note: 'ctx' is not equal to null
229 | VERIFY_CHECK(ctx != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:18: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:229:5: note: Taking false branch
229 | VERIFY_CHECK(ctx != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:229:5: note: Loop condition is false. Exiting loop
229 | VERIFY_CHECK(ctx != NULL);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:230:5: note: Calling 'secp256k1_scratch_destroy'
230 | secp256k1_scratch_destroy(&ctx->error_callback, scratch);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:27:9: note: 'scratch' is not equal to NULL
27 | if (scratch != NULL) {
| ^~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:27:5: note: Taking true branch
27 | if (scratch != NULL) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:28:13: note: Assuming the condition is false
28 | if (secp256k1_memcmp_var(scratch->magic, "scratch", 8) != 0) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:28:9: note: Taking false branch
28 | if (secp256k1_memcmp_var(scratch->magic, "scratch", 8) != 0) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:32:9: note: Taking false branch
32 | VERIFY_CHECK(scratch->alloc_size == 0); /* all checkpoints should be applied */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:32:9: note: Loop condition is false. Exiting loop
32 | VERIFY_CHECK(scratch->alloc_size == 0); /* all checkpoints should be applied */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:157:22: note: expanded from macro 'VERIFY_CHECK'
157 | #define VERIFY_CHECK CHECK
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scratch_impl.h:34:9: note: Argument to free() is the address of the local variable 'local_scratch', which is not memory allocated by malloc()
34 | free(scratch);
| ^ ~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:214:13: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
214 | CHECK_ILLEGAL_VOID(STATIC_CTX, secp256k1_context_destroy(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:61:19: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
61 | ctx->callback = _saved_callback; \
| ~~~~~~~~~~~~~ ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:191:5: note: Assuming the condition is false
191 | CHECK(secp256k1_context_no_precomp == secp256k1_context_static);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:9: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:21: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:191:5: note: Taking false branch
191 | CHECK(secp256k1_context_no_precomp == secp256k1_context_static);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:191:5: note: Loop condition is false. Exiting loop
191 | CHECK(secp256k1_context_no_precomp == secp256k1_context_static);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:197:9: note: Taking false branch
197 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, seed));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:197:9: note: Loop condition is false. Exiting loop
197 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, seed));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:197:9: note: Taking false branch
197 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, seed));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:197:9: note: Loop condition is false. Exiting loop
197 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, seed));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:197:9: note: Loop condition is false. Exiting loop
197 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, seed));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:198:9: note: Taking false branch
198 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, NULL));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:198:9: note: Loop condition is false. Exiting loop
198 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, NULL));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:198:9: note: Taking false branch
198 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, NULL));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:198:9: note: Loop condition is false. Exiting loop
198 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, NULL));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:198:9: note: Loop condition is false. Exiting loop
198 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_randomize(STATIC_CTX, NULL));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:201:13: note: Assuming 'use_prealloc' is 0
201 | if (use_prealloc) {
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:201:9: note: Taking false branch
201 | if (use_prealloc) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:213:13: note: Taking false branch
213 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_clone(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:213:13: note: Loop condition is false. Exiting loop
213 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_clone(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:58: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:213:13: note: Taking false branch
213 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_clone(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:149:5: note: expanded from macro 'CHECK'
149 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:213:13: note: Loop condition is false. Exiting loop
213 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_clone(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:62:5: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
62 | CHECK(_calls_to_callback == 1); \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/util.h:148:21: note: expanded from macro 'CHECK'
148 | #define CHECK(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:213:13: note: Loop condition is false. Exiting loop
213 | CHECK_ILLEGAL(STATIC_CTX, secp256k1_context_clone(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:78:34: note: expanded from macro 'CHECK_ILLEGAL'
78 | #define CHECK_ILLEGAL(ctx, expr) CHECK_ILLEGAL_VOID(ctx, CHECK((expr) == 0))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:56:84: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
56 | #define CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, callback, callback_setter) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:214:44: note: Calling 'secp256k1_context_destroy'
214 | CHECK_ILLEGAL_VOID(STATIC_CTX, secp256k1_context_destroy(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:39: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:60:7: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
60 | { expr_or_stmt; } \
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:188:20: note: Assuming 'ctx' is not equal to null
188 | ARG_CHECK_VOID(ctx == NULL || secp256k1_context_is_proper(ctx));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:53:18: note: expanded from macro 'ARG_CHECK_VOID'
53 | if (EXPECT(!(cond), 0)) { \
| ~~~~~~~~~^~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:188:20: note: Left side of '||' is false
188 | ARG_CHECK_VOID(ctx == NULL || secp256k1_context_is_proper(ctx));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:188:5: note: Assuming the condition is false
188 | ARG_CHECK_VOID(ctx == NULL || secp256k1_context_is_proper(ctx));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:53:16: note: expanded from macro 'ARG_CHECK_VOID'
53 | if (EXPECT(!(cond), 0)) { \
| ~~~~~~~^~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/util.h:136:39: note: expanded from macro 'EXPECT'
136 | #define EXPECT(x,c) __builtin_expect((x),(c))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:188:5: note: Taking false branch
188 | ARG_CHECK_VOID(ctx == NULL || secp256k1_context_is_proper(ctx));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:53:5: note: expanded from macro 'ARG_CHECK_VOID'
53 | if (EXPECT(!(cond), 0)) { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:188:5: note: Loop condition is false. Exiting loop
188 | ARG_CHECK_VOID(ctx == NULL || secp256k1_context_is_proper(ctx));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:52:30: note: expanded from macro 'ARG_CHECK_VOID'
52 | #define ARG_CHECK_VOID(cond) do { \
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:191:9: note: 'ctx' is not equal to NULL
191 | if (ctx == NULL) {
| ^~~
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:191:5: note: Taking false branch
191 | if (ctx == NULL) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/secp256k1.c:196:5: note: Memory is released
196 | free(ctx);
| ^~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:214:44: note: Returning; memory was released via 1st parameter
214 | CHECK_ILLEGAL_VOID(STATIC_CTX, secp256k1_context_destroy(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:39: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:60:7: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
60 | { expr_or_stmt; } \
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:214:13: note: Use of memory after it is freed
214 | CHECK_ILLEGAL_VOID(STATIC_CTX, secp256k1_context_destroy(STATIC_CTX));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:71:5: note: expanded from macro 'CHECK_ILLEGAL_VOID'
71 | CHECK_COUNTING_CALLBACK_VOID(ctx, expr_or_stmt, illegal_callback, secp256k1_context_set_illegal_callback)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/tests.c:61:19: note: expanded from macro 'CHECK_COUNTING_CALLBACK_VOID'
61 | ctx->callback = _saved_callback; \
| ~~~~~~~~~~~~~ ^