Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 633
    • Issues 633
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 87
    • Merge requests 87
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #3930
Closed
Open
Issue created Mar 07, 2023 by Michal Nowak@mnowakMaintainer

GCC 12 static analyzer: warning: dereference of NULL 'in' in siphash.c

GCC 12.2.1 static analyzer (-fanalyzer) from Fedora 37 identified the following errors in siphash.c.

Full GCC 12 static analyzer siphash.c report
siphash.c: In function 'isc_siphash24':
siphash.c:114:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 7:' branch...
    |  113 |         case 7:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:114:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 7:' branch...
    |  113 |         case 7:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  114 |                 b |= U8TO64_ONE(case_sensitive, in[6]) << 48;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:117:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 6:' branch...
    |......
    |  116 |         case 6:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:117:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 6:' branch...
    |......
    |  116 |         case 6:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  117 |                 b |= U8TO64_ONE(case_sensitive, in[5]) << 40;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:120:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 5:' branch...
    |......
    |  119 |         case 5:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:120:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 5:' branch...
    |......
    |  119 |         case 5:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  120 |                 b |= U8TO64_ONE(case_sensitive, in[4]) << 32;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:123:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 4:' branch...
    |......
    |  122 |         case 4:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:123:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 4:' branch...
    |......
    |  122 |         case 4:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  123 |                 b |= U8TO64_ONE(case_sensitive, in[3]) << 24;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:126:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 3:' branch...
    |......
    |  125 |         case 3:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:126:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 3:' branch...
    |......
    |  125 |         case 3:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  126 |                 b |= U8TO64_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:129:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 2:' branch...
    |......
    |  128 |         case 2:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_siphash24': event 14
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:129:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 2:' branch...
    |......
    |  128 |         case 2:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_siphash24': event 14
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  129 |                 b |= U8TO64_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:132:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
      |                                                 ~~^~~
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 1:' branch...
    |......
    |  131 |         case 1:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |         |
    |      |         (13) following 'true' branch (when 'case_sensitive != 0')...
siphash.c:132:22: note: in expansion of macro 'U8TO64_ONE'
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                      ^~~~~~~~~~
    |
  'isc_siphash24': event 14
    |
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_siphash24': event 15
    |
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:37: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:132:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
      |                                                 ~~^~~
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_siphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:79:9: note: in expansion of macro 'REQUIRE'
    |   79 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:80:9: note: in expansion of macro 'REQUIRE'
    |   80 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:81:9: note: in expansion of macro 'REQUIRE'
    |   81 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_siphash24': events 6-12
    |
    |   83 |         uint64_t k0 = ISC_U8TO64_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |   93 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |   94 |                                      ? NULL
    |      |                                      ~~~~~~
    |   95 |                                      : in + inlen - (inlen % sizeof(uint64_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |   98 |         for (; in != end; in += 8) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  112 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 1:' branch...
    |......
    |  131 |         case 1:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_siphash24': event 13
    |
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |         |
    |      |         (13) following 'false' branch (when 'case_sensitive == 0')...
siphash.c:132:22: note: in expansion of macro 'U8TO64_ONE'
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                      ^~~~~~~~~~
    |
  'isc_siphash24': event 14
    |
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_siphash24': event 15
    |
    |  132 |                 b |= U8TO64_ONE(case_sensitive, in[0]);
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:74:64: note: in definition of macro 'U8TO64_ONE'
    |   74 |         (uint64_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c: In function 'isc_halfsiphash24':
siphash.c:197:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
      |                                                 ~~^~~
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_halfsiphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:162:9: note: in expansion of macro 'REQUIRE'
    |  162 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': events 6-12
    |
    |  166 |         uint32_t k0 = ISC_U8TO32_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |  176 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |  177 |                                      ? NULL
    |      |                                      ~~~~~~
    |  178 |                                      : in + inlen - (inlen % sizeof(uint32_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |  181 |         for (; in != end; in += 4) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  195 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 3:' branch...
    |  196 |         case 3:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_halfsiphash24': event 13
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_halfsiphash24': event 14
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_halfsiphash24': event 15
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
siphash.c:197:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
      |                                                 ~~^~~
siphash.c:71:64: note: in definition of macro 'U8TO32_ONE'
   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                                                ^~~~
  'isc_halfsiphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:162:9: note: in expansion of macro 'REQUIRE'
    |  162 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': events 6-12
    |
    |  166 |         uint32_t k0 = ISC_U8TO32_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |  176 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |  177 |                                      ? NULL
    |      |                                      ~~~~~~
    |  178 |                                      : in + inlen - (inlen % sizeof(uint32_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |  181 |         for (; in != end; in += 4) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  195 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 3:' branch...
    |  196 |         case 3:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_halfsiphash24': event 13
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'false' branch (when 'case_sensitive == 0')...
    |
  'isc_halfsiphash24': event 14
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:71:64: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
  'isc_halfsiphash24': event 15
    |
    |  197 |                 b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:71:64: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                                                ^~~~
    |
siphash.c:200:51: warning: dereference of NULL 'in' [CWE-476] [-Wanalyzer-null-dereference]
  200 |                 b |= U8TO32_ONE(case_sensitive, in[1]) << 8;
      |                                                 ~~^~~
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
      |                                     ^~~~
  'isc_halfsiphash24': event 1
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (1) following 'true' branch (when 'k' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:162:9: note: in expansion of macro 'REQUIRE'
    |  162 |         REQUIRE(k != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 2
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (2) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 3
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (3) following 'true' branch (when 'out' is non-NULL)...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:163:9: note: in expansion of macro 'REQUIRE'
    |  163 |         REQUIRE(out != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 4
    |
    |./include/isc/assertions.h:45:9:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ^
    |      |         |
    |      |         (4) ...to here
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': event 5
    |
    |./include/isc/assertions.h:45:10:
    |   45 |         ((void)((cond) ||                                                  \
    |      |         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |          |
    |      |          (5) following 'true' branch...
    |   46 |                 ((isc_assertion_failed)(__FILE__, __LINE__,                \
    |      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   47 |                                         isc_assertiontype_require, #cond), \
    |      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |   48 |                  0)))
    |      |                  ~~~~
./include/isc/util.h:312:22: note: in expansion of macro 'ISC_REQUIRE'
    |  312 | #define REQUIRE(e)   ISC_REQUIRE(e)
    |      |                      ^~~~~~~~~~~
siphash.c:164:9: note: in expansion of macro 'REQUIRE'
    |  164 |         REQUIRE(inlen == 0 || in != NULL);
    |      |         ^~~~~~~
    |
  'isc_halfsiphash24': events 6-12
    |
    |  166 |         uint32_t k0 = ISC_U8TO32_LE(k);
    |      |         ^~~~~~~~
    |      |         |
    |      |         (6) ...to here
    |......
    |  176 |         const uint8_t *end = (in == NULL)
    |      |                        ~~~   ~~~~~~~~~~~~
    |      |                        |
    |      |                        (8) ...to here
    |  177 |                                      ? NULL
    |      |                                      ~~~~~~
    |  178 |                                      : in + inlen - (inlen % sizeof(uint32_t));
    |      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    |      |                                      |
    |      |                                      (7) following 'false' branch (when 'in' is NULL)...
    |......
    |  181 |         for (; in != end; in += 4) {
    |      |                ~~~~~~~~~
    |      |                   |
    |      |                   (9) following 'false' branch...
    |......
    |  195 |         switch (left) {
    |      |         ~~~~~~
    |      |         |
    |      |         (10) ...to here
    |      |         (11) following 'case 2:' branch...
    |......
    |  199 |         case 2:
    |      |         ~~~~
    |      |         |
    |      |         (12) ...to here
    |
  'isc_halfsiphash24': event 13
    |
    |  200 |                 b |= U8TO32_ONE(case_sensitive, in[1]) << 8;
    |      |                                                        ^
    |      |                                                        |
    |      |                                                        (13) following 'true' branch (when 'case_sensitive != 0')...
    |
  'isc_halfsiphash24': event 14
    |
    |  200 |                 b |= U8TO32_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (14) ...to here
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |
  'isc_halfsiphash24': event 15
    |
    |  200 |                 b |= U8TO32_ONE(case_sensitive, in[1]) << 8;
    |      |                                                 ~~^~~
    |      |                                                   |
    |      |                                                   (15) dereference of NULL 'in'
siphash.c:71:37: note: in definition of macro 'U8TO32_ONE'
    |   71 |         (uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
    |      |                                     ^~~~
    |