Explorar o código

core: safety checks for pointer in dbg message printed inside dns cache

Daniel-Constantin Mierla %!s(int64=11) %!d(string=hai) anos
pai
achega
2abbeb8fd3
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      dns_cache.c

+ 3 - 3
dns_cache.c

@@ -2369,9 +2369,9 @@ found:
 	DBG("dns_srv_get_nxt_rr(%p, %lx, %d, %u): selected %d/%d in grp. %d"
 			" (rand_w=%d, rr=%p rd=%p p=%d w=%d rsum=%d)\n",
 		e, (unsigned long)*tried, *no, now, i, idx, n, rand_w, r_sums[i].rr,
-		r_sums[i].rr->rdata,
-		(r_sums[i].rr->rdata)?((struct srv_rdata*)r_sums[i].rr->rdata)->priority:0,
-		(r_sums[i].rr->rdata)?((struct srv_rdata*)r_sums[i].rr->rdata)->weight:0,
+		(r_sums[i].rr)?r_sums[i].rr->rdata:0,
+		(r_sums[i].rr&&r_sums[i].rr->rdata)?((struct srv_rdata*)r_sums[i].rr->rdata)->priority:0,
+		(r_sums[i].rr&&r_sums[i].rr->rdata)?((struct srv_rdata*)r_sums[i].rr->rdata)->weight:0,
 		r_sums[i].r_sum);
 #endif
 	/* i is the winner */