Fix 'Dereference of null pointer' from scan-build-10
These are mostly false positives, the clang-analyzer FAQ[1] specifies why and how to fix it: > The reason the analyzer often thinks that a pointer can be null is > because the preceding code checked compared it against null. So if you > are absolutely sure that it cannot be null, remove the preceding check > and, preferably, add an assertion as well. The 4 warnings reported are: dnssec-cds.c:781:4: warning: Access to field 'base' results in a dereference of a null pointer (loaded from variable 'buf') isc_buffer_availableregion(buf, &r); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:996:36: note: expanded from macro 'isc_buffer_availableregion' ^ /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:821:16: note: expanded from macro 'ISC__BUFFER_AVAILABLEREGION' (_r)->base = isc_buffer_used(_b); \ ^~~~~~~~~~~~~~~~~~~ /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:152:29: note: expanded from macro 'isc_buffer_used' ((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/ ^~~~~~~~~ 1 warning generated. -- byname_test.c:308:34: warning: Access to field 'fwdtable' results in a dereference of a null pointer (loaded from variable 'view') RUNTIME_CHECK(dns_fwdtable_add(view->fwdtable, dns_rootname, ^~~~~~~~~~~~~~ /builds/isc-projects/bind9/lib/isc/include/isc/util.h:318:52: note: expanded from macro 'RUNTIME_CHECK' ^~~~ /builds/isc-projects/bind9/lib/isc/include/isc/error.h:50:21: note: expanded from macro 'ISC_ERROR_RUNTIMECHECK' ((void)(ISC_LIKELY(cond) || \ ^~~~ /builds/isc-projects/bind9/lib/isc/include/isc/likely.h:23:43: note: expanded from macro 'ISC_LIKELY' ^ 1 warning generated. -- ./rndc.c:255:6: warning: Dereference of null pointer (loaded from variable 'host') if (*host == '/') { ^~~~~ 1 warning generated. -- ./main.c:1254:9: warning: Access to field 'sctx' results in a dereference of a null pointer (loaded from variable 'named_g_server') sctx = named_g_server->sctx; ^~~~~~~~~~~~~~~~~~~~ 1 warning generated. References: 1. https://clang-analyzer.llvm.org/faq.html#null_pointer
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
Precheck | |||||||||
passed |
#783030
amd64
linux
|
🐞:sid:amd64 |
00:04:10
|
|
|||||
failed |
#783029
amd64
linux
|
💾:sid:amd64 |
00:00:10
|
|
|||||
passed |
#783027
amd64
linux
|
autoreconf:sid:amd64 |
00:00:32
|
|
|||||
passed |
#783028
amd64
linux
|
misc:sid:amd64 |
00:00:19
|
|
|||||
Build | |||||||||
passed |
#783045
amd64
linux
|
asan:sid:amd64 |
00:04:48
|
|
|||||
passed |
#783052
amd64
libvirt
|
clang:freebsd11.3:amd64 |
00:01:39
|
|
|||||
passed |
#783053
amd64
libvirt
|
clang:freebsd12.1:amd64 |
00:01:52
|
|
|||||
passed |
#783054
amd64
libvirt
|
clang:openbsd6.6:amd64 |
00:04:57
|
|
|||||
failed |
#783049
amd64
linux
|
clang:stretch:amd64 |
00:00:27
|
|
|||||
failed |
#783050
i386
linux
|
clang:stretch:i386 |
00:00:55
|
|
|||||
passed |
#783031
amd64
linux
|
gcc:alpine3.11:amd64 |
00:02:38
|
|
|||||
passed |
#783044
amd64
linux
|
gcc:bionic:amd64 |
00:01:47
|
|
|||||
passed |
#783036
amd64
linux
|
gcc:buster:amd64 |
00:01:38
|
|
|||||
passed |
#783032
amd64
linux
|
gcc:centos6:amd64 |
00:02:17
|
|
|||||
passed |
#783033
amd64
linux
|
gcc:centos7:amd64 |
00:02:26
|
|
|||||
passed |
#783034
amd64
linux
|
gcc:centos8:amd64 |
00:02:31
|
|
|||||
passed |
#783042
amd64
linux
|
gcc:fedora31:amd64 |
00:02:27
|
|
|||||
passed |
#783037
amd64
linux
|
gcc:sid:amd64 |
00:02:52
|
|
|||||
passed |
#783039
arm64
linux
|
gcc:sid:arm64 |
00:07:38
|
|
|||||
passed |
#783040
i386
linux
|
gcc:sid:i386 |
00:02:45
|
|
|||||
passed |
#783035
amd64
linux
|
gcc:stretch:amd64 |
00:01:45
|
|
|||||
passed |
#783041
amd64
linux
|
gcc:tumbleweed:amd64 |
00:02:38
|
|
|||||
passed |
#783043
amd64
linux
|
gcc:xenial:amd64 |
00:01:40
|
|
|||||
passed |
#783055
amd64
windows
|
msvc:windows:amd64 |
00:02:39
|
|
|||||
passed |
#783048
amd64
linux
|
mutexatomics:sid:amd64 |
00:02:52
|
|
|||||
passed |
#783038
amd64
linux
|
oot:sid:amd64 |
00:02:58
|
|
|||||
passed |
#783051
amd64
linux
|
pkcs11:sid:amd64 |
00:02:34
|
|
|||||
passed |
#783047
amd64
linux
|
rwlock:sid:amd64 |
00:02:32
|
|
|||||
failed |
#783046
amd64
linux
|
tsan:buster:amd64 |
00:00:27
|
|
|||||
Unit | |||||||||
passed |
#783069
amd64
linux
|
unit:asan:sid:amd64 |
00:01:06
|
|
|||||
passed |
#783075
amd64
libvirt
|
unit:clang:freebsd11.3:amd64 |
00:01:04
|
|
|||||
failed |
#783076
amd64
libvirt
|
unit:clang:freebsd12.1:amd64 |
00:05:53
|
|
|||||
skipped |
#783073
amd64
linux
|
unit:clang:stretch:amd64 |
|
||||||
passed |
#783056
amd64
linux
|
unit:gcc:alpine3.11:amd64 |
00:00:47
|
|
|||||
passed |
#783068
amd64
linux
|
unit:gcc:bionic:amd64 |
00:00:40
|
|
|||||
passed |
#783061
amd64
linux
|
unit:gcc:buster:amd64 |
00:00:56
|
|
|||||
passed |
#783057
amd64
linux
|
unit:gcc:centos6:amd64 |
00:00:52
|
|
|||||
passed |
#783058
amd64
linux
|
unit:gcc:centos7:amd64 |
00:00:52
|
|
|||||
passed |
#783059
amd64
linux
|
unit:gcc:centos8:amd64 |
00:00:53
|
|
|||||
passed |
#783066
amd64
linux
|
unit:gcc:fedora31:amd64 |
00:00:54
|
|
|||||
passed |
#783062
amd64
linux
|
unit:gcc:sid:amd64 |
00:00:57
|
|
|||||
passed |
#783063
arm64
linux
|
unit:gcc:sid:arm64 |
00:01:14
|
|
|||||
passed |
#783064
i386
linux
|
unit:gcc:sid:i386 |
00:01:04
|
|
|||||
passed |
#783060
amd64
linux
|
unit:gcc:stretch:amd64 |
00:00:40
|
|
|||||
passed |
#783065
amd64
linux
|
unit:gcc:tumbleweed:amd64 |
00:00:52
|
|
|||||
passed |
#783067
amd64
linux
|
unit:gcc:xenial:amd64 |
00:00:55
|
|
|||||
passed |
#783072
amd64
linux
|
unit:mutexatomics:sid:amd64 |
00:00:55
|
|
|||||
failed |
#783074
amd64
linux
|
unit:pkcs11:sid:amd64 |
00:01:35
|
|
|||||
passed |
#783071
amd64
linux
|
unit:rwlock:sid:amd64 |
00:00:52
|
|
|||||
skipped |
#783070
amd64
linux
allowed to fail
|
unit:tsan:buster:amd64 |
|
||||||
System | |||||||||
passed |
#783090
amd64
linux
|
system:asan:sid:amd64 |
00:12:20
|
|
|||||
passed |
#783095
amd64
libvirt
|
system:clang:freebsd11.3:amd64 |
00:12:19
|
|
|||||
failed |
#783096
amd64
libvirt
|
system:clang:freebsd12.1:amd64 |
00:12:13
|
|
|||||
passed |
#783077
amd64
linux
|
system:gcc:alpine3.11:amd64 |
00:10:48
|
|
|||||
passed |
#783089
amd64
linux
|
system:gcc:bionic:amd64 |
00:09:33
|
|
|||||
passed |
#783082
amd64
linux
|
system:gcc:buster:amd64 |
00:09:35
|
|
|||||
passed |
#783078
amd64
linux
|
system:gcc:centos6:amd64 |
00:09:54
|
|
|||||
passed |
#783079
amd64
linux
|
system:gcc:centos7:amd64 |
00:10:43
|
|
|||||
passed |
#783080
amd64
linux
|
system:gcc:centos8:amd64 |
00:10:21
|
|
|||||
passed |
#783087
amd64
linux
|
system:gcc:fedora31:amd64 |
00:10:07
|
|
|||||
passed |
#783083
amd64
linux
|
system:gcc:sid:amd64 |
00:10:44
|
|
|||||
passed |
#783084
arm64
linux
|
system:gcc:sid:arm64 |
00:11:17
|
|
|||||
passed |
#783085
i386
linux
|
system:gcc:sid:i386 |
00:10:50
|
|
|||||
passed |
#783081
amd64
linux
|
system:gcc:stretch:amd64 |
00:09:30
|
|
|||||
passed |
#783086
amd64
linux
|
system:gcc:tumbleweed:amd64 |
00:10:04
|
|
|||||
passed |
#783088
amd64
linux
|
system:gcc:xenial:amd64 |
00:09:11
|
|
|||||
passed |
#783093
amd64
linux
|
system:mutexatomics:sid:amd64 |
00:10:02
|
|
|||||
failed |
#783094
amd64
linux
|
system:pkcs11:sid:amd64 |
00:08:00
|
|
|||||
passed |
#783092
amd64
linux
|
system:rwlock:sid:amd64 |
00:10:49
|
|
|||||
skipped |
#783091
amd64
linux
allowed to fail
|
system:tsan:buster:amd64 |
|
||||||
Docs | |||||||||
passed |
#783097
amd64
linux
|
docs:sid:amd64 |
00:00:59
|
|
|||||
Postcheck | |||||||||
failed |
#783099
amd64
linux
|
cppcheck:gcc:sid:amd64 |
00:00:44
|
|
|||||
failed |
#783098
amd64
linux
|
scan-build:buster:amd64 |
00:00:26
|
|
|||||
Name | Stage | Failure | ||
---|---|---|---|---|
failed
|
system:clang:freebsd12.1:amd64 | System | ||
|
||||
failed
|
system:pkcs11:sid:amd64 | System | ||
|
||||
failed
|
unit:clang:freebsd12.1:amd64 | Unit | ||
|
||||
failed
|
unit:pkcs11:sid:amd64 | Unit | ||
|
||||
failed
|
cppcheck:gcc:sid:amd64 | Postcheck | ||
|
||||
failed
|
scan-build:buster:amd64 | Postcheck | ||
|
||||
failed
|
clang:stretch:i386 | Build | ||
|
||||
failed
|
clang:stretch:amd64 | Build | ||
|
||||
failed
|
tsan:buster:amd64 | Build | ||
|
||||
failed
|
💾:sid:amd64 | Precheck | ||
|