don't return RR list on error
The resolver maybe returned an error code but allocated an RR list. Free this list now in the resolver instead of depending on the user to free it even though there was an error. This API is only library internal, but still it makes more sense like that. This issue was discovered in CI job [0]. [0] https://github.com/strophe/libstrophe/actions/runs/3874980845/jobs/6776501943 Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
@@ -158,6 +158,10 @@ int resolver_srv_lookup_buf(xmpp_ctx_t *ctx,
|
||||
set = resolver_ares_srv_lookup_buf(ctx, buf, len, srv_rr_list);
|
||||
#else
|
||||
set = resolver_raw_srv_lookup_buf(ctx, buf, len, srv_rr_list);
|
||||
if (set != XMPP_DOMAIN_FOUND && *srv_rr_list != NULL) {
|
||||
resolver_srv_free(ctx, *srv_rr_list);
|
||||
*srv_rr_list = NULL;
|
||||
}
|
||||
#endif
|
||||
resolver_srv_list_sort(srv_rr_list);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user