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/bench_ecmult.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 -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/bench_ecmult.dir/bench_ecmult.c.o -MF src/CMakeFiles/bench_ecmult.dir/bench_ecmult.c.o.d -o src/CMakeFiles/bench_ecmult.dir/bench_ecmult.c.o -c /home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c

working_directory: "/home/runner/work/nightly-builds/nightly-builds/build"

Target: bench_ecmult

Target Type: EXECUTABLE

Source: /home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c

Language: C

Config: Debug

stderr:

/home/runner/work/nightly-builds/nightly-builds/src/group_impl.h:443:12: warning: Access to field 'infinity' results in a dereference of a null pointer (loaded from variable 'a') [clang-analyzer-core.NullDereference]
  443 |     return a->infinity;
      |            ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:171:17: note: Assuming 'i' is < 'iters'
  171 |     for (i = 0; i < iters; ++i) {
      |                 ^~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:171:5: note: Loop condition is true.  Entering loop body
  171 |     for (i = 0; i < iters; ++i) {
      |     ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:172:44: note: Passing null pointer value via 2nd parameter 'a'
  172 |         secp256k1_ecmult(&data->output[i], NULL, &secp256k1_scalar_zero, &data->scalars[(data->offset1+i) % POINTS]);
      |                                            ^
/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h:26:14: note: expanded from macro 'NULL'
   26 | #define NULL ((void*)0)
      |              ^~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:172:9: note: Calling 'secp256k1_ecmult'
  172 |         secp256k1_ecmult(&data->output[i], NULL, &secp256k1_scalar_zero, &data->scalars[(data->offset1+i) % POINTS]);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:49: note: Passing null pointer value via 4th parameter 'a'
  358 |     secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
      |                                                 ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:5: note: Calling 'secp256k1_ecmult_strauss_wnaf'
  358 |     secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:252:5: note: Loop condition is true.  Entering loop body
  252 |     for (np = 0; np < num; ++np) {
      |     ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:13: note: Left side of '||' is false
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |             ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:76: note: Passing null pointer value via 1st parameter 'a'
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |                                                                            ^~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:50: note: Calling 'secp256k1_gej_is_infinity'
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/group_impl.h:443:12: note: Access to field 'infinity' results in a dereference of a null pointer (loaded from variable 'a')
  443 |     return a->infinity;
      |            ^
/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/bench_ecmult.c:285:20: note: Assuming 'iter' is < 'iters'
  285 |     for (iter = 0; iter < iters; ++iter) {
      |                    ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:285:5: note: Loop condition is true.  Entering loop body
  285 |     for (iter = 0; iter < iters; ++iter) {
      |     ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:289:21: note: Assuming the condition is true
  289 |         for (i = 0; i + 1 < count; ++i) {
      |                     ^~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:289:9: note: Loop condition is true.  Entering loop body
  289 |         for (i = 0; i + 1 < count; ++i) {
      |         ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:290:13: note: Calling 'secp256k1_scalar_mul'
  290 |             secp256k1_scalar_mul(&tmp, &data->seckeys[(data->offset2++) % POINTS], &data->scalars[(data->offset1++) % POINTS]);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/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/bench_ecmult.c:185:17: note: Assuming the condition is true
  185 |     for (i = 0; i < iters/2; ++i) {
      |                 ^~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:185:5: note: Loop condition is true.  Entering loop body
  185 |     for (i = 0; i < iters/2; ++i) {
      |     ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:186:9: note: Calling 'secp256k1_ecmult'
  186 |         secp256k1_ecmult(&data->output[i], &data->pubkeys_gej[(data->offset1+i) % POINTS], &data->scalars[(data->offset2+i) % POINTS], &data->scalars[(data->offset1+i) % POINTS]);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:5: note: Calling 'secp256k1_ecmult_strauss_wnaf'
  358 |     secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:252:5: note: Loop condition is true.  Entering loop body
  252 |     for (np = 0; np < num; ++np) {
      |     ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:13: note: Left side of '||' is false
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |             ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:50: note: Assuming the condition is false
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:9: note: Taking false branch
  255 |         if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
      |         ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:259:9: note: Calling 'secp256k1_scalar_split_lambda'
  259 |         secp256k1_scalar_split_lambda(&na_1, &na_lam, &na[np]);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/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: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;
      |                              ~~~~~~~~~~~~~~~~~ ^
Status: 0
Loading...