diff --git a/main/srv.c b/main/srv.c index ef073a5178580c043c605e0b8c4e2244efbd5f6c..cedad7363f2e7c407ddc9b4aaa68d1021f191488 100644 --- a/main/srv.c +++ b/main/srv.c @@ -209,7 +209,8 @@ int ast_srv_lookup(struct srv_context **context, const char *service, const char } AST_LIST_HEAD_INIT_NOLOCK(&(*context)->entries); - if ((ast_search_dns(*context, service, C_IN, T_SRV, srv_callback)) < 0) { + if (((ast_search_dns(*context, service, C_IN, T_SRV, srv_callback)) < 1) || + AST_LIST_EMPTY(&(*context)->entries)) { ast_free(*context); *context = NULL; return -1;