mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
Check for NULL before dereferencing qctx->rpz_st
Commit9ffb4a7ba1
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. (cherry picked from commit07592d1315
) (cherry picked from commita4547a1093
)
This commit is contained in:
committed by
Matthijs Mekking
parent
096d980a87
commit
90408617d7
@@ -9602,7 +9602,9 @@ query_nxdomain(query_ctx_t *qctx, isc_result_t res) {
|
|||||||
{
|
{
|
||||||
ttl = 0;
|
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);
|
result = query_addsoa(qctx, ttl, section);
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
QUERY_ERROR(qctx, result);
|
QUERY_ERROR(qctx, result);
|
||||||
|
Reference in New Issue
Block a user