#52 Potential NULL-dereference in dbiterator_destroy
Closed: Fixed None Opened 12 years ago by sgallagh.

Discovered by Coverity Integrity Manager

 716static void
 717dbiterator_destroy(dns_dbiterator_t **iteratorp)
 718{
 719        dns_dbiterator_t *iterator = *iteratorp;
 720        ldap_dbiterator_t *ldapiter = (ldap_dbiterator_t *) iterator;
 721        
 722        ldapiter->current = HEAD(ldapiter->nodelist);
 723        while (ldapiter->current != NULL) {
 724                dns_dbnode_t *node = (dns_dbnode_t *) ldapiter->current;
 725                ldapiter->current = NEXT(ldapiter->current, link);
 726                detachnode(iterator->db, &node);
 727        }
 728        dns_db_t *db = iterator->db;
At conditional (1): "iterator->db != NULL" taking the false branch.
CID 12473: Dereference after null check (FORWARD_NULL)Comparing "iterator->db" to null implies that "iterator->db" might be null.
 729        if (iterator != NULL && iterator->db != NULL)
 730                detach(&db);
At conditional (2): "*iteratorp != NULL" taking the true branch.
Dereferencing null variable "iterator->db".
 731        SAFE_MEM_PUT_PTR(iterator->db->mctx, *iteratorp);
 732}

Metadata Update from @atkac:
- Issue assigned to atkac

7 years ago

Login to comment on this ticket.

Metadata