Update code

This commit is contained in:
Nick Peng
2018-11-11 22:39:33 +08:00
parent 6e2c0da46d
commit 08024010fe
3 changed files with 7 additions and 3 deletions

View File

@@ -448,6 +448,10 @@ void _dns_client_query_remove(struct dns_query_struct *query)
{
/* remove query from period check list, and release reference*/
pthread_mutex_lock(&client.domain_map_lock);
if (list_empty(&query->dns_request_list)) {
pthread_mutex_unlock(&client.domain_map_lock);
return;
}
list_del_init(&query->dns_request_list);
hash_del(&query->domain_node);
pthread_mutex_unlock(&client.domain_map_lock);

View File

@@ -362,7 +362,7 @@ int _dns_server_request_complete(struct dns_request *request)
_dns_reply(request);
return ret;
return 0;
}
void _dns_server_request_release(struct dns_request *request);
@@ -387,7 +387,7 @@ void _dns_server_request_release(struct dns_request *request)
int refcnt = atomic_dec_return(&request->refcnt);
if (refcnt) {
if (refcnt < 0) {
tlog(TLOG_ERROR, "BUG: refcnt is %d", refcnt);
tlog(TLOG_ERROR, "BUG: refcnt is %d, domain %s", refcnt, request->domain);
abort();
}
return;

View File

@@ -384,7 +384,7 @@ art_leaf* art_maximum(art_tree *t) {
}
static art_leaf* make_leaf(const unsigned char *key, int key_len, void *value) {
art_leaf *l = (art_leaf*)calloc(1, sizeof(art_leaf)+key_len);
art_leaf *l = (art_leaf*)calloc(1, sizeof(art_leaf)+key_len+1);
l->value = value;
l->key_len = key_len;
memcpy(l->key, key, key_len);