1. 30 Oct, 2019 5 commits
  2. 29 Oct, 2019 16 commits
  3. 25 Oct, 2019 1 commit
    • Michał Kępień's avatar
      Add CentOS 8 to GitLab CI · dce1c050
      Michał Kępień authored
      Ensure BIND can be tested on CentOS 8 in GitLab CI to more quickly catch
      build and test errors on that operating system.
      dce1c050
  4. 24 Oct, 2019 5 commits
  5. 22 Oct, 2019 2 commits
  6. 21 Oct, 2019 4 commits
  7. 19 Oct, 2019 1 commit
  8. 17 Oct, 2019 1 commit
  9. 16 Oct, 2019 2 commits
    • Michał Kępień's avatar
      Suppress cppcheck 1.89 false positive · db7fd163
      Michał Kępień authored
      cppcheck 1.89 emits a false positive for lib/dns/spnego_asn1.c:
      
          lib/dns/spnego_asn1.c:698:9: error: Uninitialized variable: data [uninitvar]
           memset(data, 0, sizeof(*data));
                  ^
          lib/dns/spnego.c:1707:47: note: Calling function 'decode_NegTokenResp', 3rd argument '&resp' value is <Uninit>
           ret = decode_NegTokenResp(buf + taglen, len, &resp, NULL);
                                                        ^
          lib/dns/spnego_asn1.c:698:9: note: Uninitialized variable: data
           memset(data, 0, sizeof(*data));
                  ^
      
      This message started appearing with cppcheck 1.89 [1], but it will be
      gone in the next release [2], so just suppress it for the time being.
      
      [1] https://github.com/danmar/cppcheck/commit/af214e8212efa303e664920a468de00ee0b1fe3d
      
      [2] https://github.com/danmar/cppcheck/commit/2595b826349a7ffbe1c958b806498b6e336bea33
      db7fd163
    • Michał Kępień's avatar
      Fix cppcheck 1.89 warnings · abfde3d5
      Michał Kępień authored
      cppcheck 1.89 enabled certain value flow analysis mechanisms [1] which
      trigger null pointer dereference false positives in lib/dns/rpz.c:
      
          lib/dns/rpz.c:582:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
          lib/dns/rpz.c:1419:44: note: Calling function 'adj_trigger_cnt', 4th argument 'NULL' value is 0
            adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                                     ^
          lib/dns/rpz.c:582:7: note: Null pointer dereference
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
          lib/dns/rpz.c:596:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
          lib/dns/rpz.c:1419:44: note: Calling function 'adj_trigger_cnt', 4th argument 'NULL' value is 0
            adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                                     ^
          lib/dns/rpz.c:596:7: note: Null pointer dereference
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
          lib/dns/rpz.c:610:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
          lib/dns/rpz.c:1419:44: note: Calling function 'adj_trigger_cnt', 4th argument 'NULL' value is 0
            adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                                     ^
          lib/dns/rpz.c:610:7: note: Null pointer dereference
            if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
                ^
      
      It seems that cppcheck no longer treats at least some REQUIRE()
      assertion failures as fatal, so add extra assertion macro definitions to
      lib/isc/include/isc/util.h that are only used when the CPPCHECK
      preprocessor macro is defined; these definitions make cppcheck 1.89
      behave as expected.
      
      There is an important requirement for these custom definitions to work:
      cppcheck must properly treat abort() as a function which does not
      return.  In order for that to happen, the __GNUC__ macro must be set to
      a high enough number (because system include directories are used and
      system headers compile attributes away if __GNUC__ is not high enough).
      __GNUC__ is thus set to the major version number of the GCC compiler
      used, which is what that latter does itself during compilation.
      
      [1] https://github.com/danmar/cppcheck/commit/aaeec462e6d96bb70c2b1cf030979d09e2d7c959
      abfde3d5
  10. 15 Oct, 2019 3 commits