2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

Check for NULL before dereferencing qctx->rpz_st

Commit 9ffb4a7ba1 causes Clang Static
Analyzer to flag a potential NULL dereference in query_nxdomain():

    query.c:9394:26: warning: Dereference of null pointer [core.NullDereference]
            if (!qctx->nxrewrite || qctx->rpz_st->m.rpz->addsoa) {
                                    ^~~~~~~~~~~~~~~~~~~
    1 warning generated.

The warning above is for qctx->rpz_st potentially being a NULL pointer
when query_nxdomain() is called from query_resume().  This is a false
positive because none of the database lookup result codes currently
causing query_nxdomain() to be called (DNS_R_EMPTYWILD, DNS_R_NXDOMAIN)
can be returned by a database lookup following a recursive resolution
attempt.  Add a NULL check nevertheless in order to future-proof the
code and silence Clang Static Analyzer.
This commit is contained in:
Michał Kępień
2022-06-13 14:03:16 +02:00
parent 39fd8efbb7
commit 07592d1315

View File

@@ -9391,7 +9391,8 @@ query_nxdomain(query_ctx_t *qctx, isc_result_t res) {
{
ttl = 0;
}
if (!qctx->nxrewrite || qctx->rpz_st->m.rpz->addsoa) {
if (!qctx->nxrewrite ||
(qctx->rpz_st != NULL && qctx->rpz_st->m.rpz->addsoa)) {
result = query_addsoa(qctx, ttl, section);
if (result != ISC_R_SUCCESS) {
QUERY_ERROR(qctx, result);