#717 Improper NULL check in fo_add_srv_server
Closed: Fixed Opened by sgallagh.

  512        if (fo_is_srv_lookup(server)) {
At conditional (1): "dns_domain == NULL" taking the true branch.
At conditional (2): "server->srv_data->dns_domain == NULL" taking the false branch.
Comparing "dns_domain" to null implies that "dns_domain" might be null.
Passing null variable "dns_domain" to function "strcasecmp", which dereferences it. (Deref assumed on the basis of 'nonnull' parameter attribute.)
  513            if (((dns_domain == NULL && server->srv_data->dns_domain == NULL) ||
  514                  strcasecmp(server->srv_data->dns_domain, dns_domain) == 0) &&
  515                strcasecmp(server->srv_data->proto, proto) == 0) {
  516                return EEXIST;
  517            }

This if statement needs to be broken out more. It's very confusing and is vulnerable to a null dereference if dns_domain was passed in as NULL (which is valid)


Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.5.0

Fixed by 6ad2d3a368074266cbf1420cc96922cc86876139

coverity: => 10008
resolution: => fixed
status: new => closed

Fields changed

rhbz: => 0

Metadata Update from @sgallagh:
- Issue assigned to sbose
- Issue set to the milestone: SSSD 1.5.0

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/1759

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata