فهرست منبع

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

Daniel-Constantin Mierla 11 سال پیش
والد
کامیت
2abbeb8fd3
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  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 */