#717 Improper NULL check in fo_add_srv_server
Closed: Fixed None Opened 13 years ago 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 6ad2d3a

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

7 years ago

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.

Login to comment on this ticket.

Metadata