summaryrefslogtreecommitdiff
path: root/pjlib-util
diff options
context:
space:
mode:
Diffstat (limited to 'pjlib-util')
-rw-r--r--pjlib-util/src/pjlib-util/srv_resolver.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pjlib-util/src/pjlib-util/srv_resolver.c b/pjlib-util/src/pjlib-util/srv_resolver.c
index 5c22ac2b..a97ca0df 100644
--- a/pjlib-util/src/pjlib-util/srv_resolver.c
+++ b/pjlib-util/src/pjlib-util/srv_resolver.c
@@ -329,7 +329,9 @@ static void build_server_entries(pj_dns_srv_async_query *query_job,
* Update the IP address of the corresponding SRV record.
*/
for (j=0; j<query_job->srv_cnt; ++j) {
- if (pj_stricmp(&rr->name, &query_job->srv[j].target_name)==0) {
+ if (pj_stricmp(&rr->name, &query_job->srv[j].target_name)==0 &&
+ query_job->srv[j].addr_cnt < ADDR_MAX_COUNT)
+ {
unsigned cnt = query_job->srv[j].addr_cnt;
query_job->srv[j].addr[cnt].s_addr = rr->rdata.a.ip_addr.s_addr;
/* Only increment host_resolved once per SRV record */