a593f3d Issue 50506 - Replace slapi_entry_attr_get_charptr() with slapi_entry_attr_get_ref()

Authored and Committed by mreynolds 4 years ago
62 files changed. 347 lines added. 583 lines removed.
ldap/servers/plugins/addn/addn.c
file modified
+1 -2
ldap/servers/plugins/automember/automember.c
file modified
+15 -30
ldap/servers/plugins/dna/dna.c
file modified
+15 -32
ldap/servers/plugins/linkedattrs/fixup_task.c
file modified
+1 -1
ldap/servers/plugins/linkedattrs/linked_attrs.c
file modified
+2 -3
ldap/servers/plugins/memberof/memberof.c
file modified
+3 -4
ldap/servers/plugins/memberof/memberof_config.c
file modified
+11 -18
ldap/servers/plugins/mep/mep.c
file modified
+5 -11
ldap/servers/plugins/pam_passthru/pam_ptconfig.c
file modified
+5 -10
ldap/servers/plugins/pam_passthru/pam_ptimpl.c
file modified
+1 -2
ldap/servers/plugins/pam_passthru/pam_ptpreop.c
file modified
+4 -8
ldap/servers/plugins/posix-winsync/posix-winsync.c
file modified
+1 -2
ldap/servers/plugins/referint/referint.c
file modified
+6 -10
ldap/servers/plugins/replication/cl5_config.c
file modified
+13 -17
ldap/servers/plugins/replication/cl5_test.c
file modified
+1 -2
ldap/servers/plugins/replication/repl5_agmt.c
file modified
+29 -50
ldap/servers/plugins/replication/repl5_agmtlist.c
file modified
+1 -2
ldap/servers/plugins/replication/repl5_plugins.c
file modified
+5 -12
ldap/servers/plugins/replication/repl5_replica.c
file modified
+13 -35
ldap/servers/plugins/replication/repl5_replica_config.c
file modified
+11 -22
ldap/servers/plugins/replication/repl5_tot_protocol.c
file modified
+1 -2
ldap/servers/plugins/replication/replutil.c
file modified
+2 -5
ldap/servers/plugins/replication/urp.c
file modified
+13 -21
ldap/servers/plugins/replication/urp_tombstone.c
file modified
+8 -18
ldap/servers/plugins/replication/windows_private.c
file modified
+6 -12
ldap/servers/plugins/replication/windows_protocol_util.c
file modified
+18 -27
ldap/servers/plugins/retrocl/retrocl.c
file modified
+2 -3
ldap/servers/plugins/roles/roles_cache.c
file modified
+1 -5
ldap/servers/plugins/roles/roles_plugin.c
file modified
+2 -3
ldap/servers/plugins/rootdn_access/rootdn_access.c
file modified
+4 -8
ldap/servers/plugins/schema_reload/schema_reload.c
file modified
+2 -2
ldap/servers/plugins/statechange/statechange.c
file modified
+2 -3
ldap/servers/plugins/sync/sync_util.c
file modified
+4 -6
ldap/servers/plugins/uiduniq/7bit.c
file modified
+2 -3
ldap/servers/plugins/uiduniq/uid.c
file modified
+2 -3
ldap/servers/plugins/usn/usn.c
file modified
+2 -4
ldap/servers/plugins/usn/usn_cleanup.c
file modified
+2 -6
ldap/servers/slapd/add.c
file modified
+1 -3
ldap/servers/slapd/back-ldbm/index.c
file modified
+1 -2
ldap/servers/slapd/back-ldbm/ldbm_add.c
file modified
+1 -2
ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c
file modified
+5 -9
ldap/servers/slapd/back-ldbm/ldbm_delete.c
file modified
+4 -12
ldap/servers/slapd/back-ldbm/ldbm_index_config.c
file modified
+1 -2
ldap/servers/slapd/back-ldbm/ldif2ldbm.c
file modified
+1 -3
ldap/servers/slapd/back-ldbm/vlv.c
file modified
+2 -4
ldap/servers/slapd/configdse.c
file modified
+1 -2
ldap/servers/slapd/daemon.c
file modified
+1 -2
ldap/servers/slapd/dse.c
file modified
+2 -3
ldap/servers/slapd/entry.c
file modified
+18 -0
ldap/servers/slapd/fedse.c
file modified
+1 -2
ldap/servers/slapd/main.c
file modified
+3 -4
ldap/servers/slapd/plugin.c
file modified
+23 -50
ldap/servers/slapd/pw.c
file modified
+7 -15
ldap/servers/slapd/pw_mgmt.c
file modified
+2 -5
ldap/servers/slapd/pw_retry.c
file modified
+1 -3
ldap/servers/slapd/sasl_map.c
file modified
+2 -4
ldap/servers/slapd/slapi-plugin.h
file modified
+10 -0
ldap/servers/slapd/snmp_collator.c
file modified
+8 -12
ldap/servers/slapd/ssl.c
file modified
+7 -7
ldap/servers/slapd/task.c
file modified
+26 -28
ldap/servers/slapd/test-plugins/sampletask.c
file modified
+2 -2
ldap/servers/slapd/tools/pwenc.c
file modified
+1 -3
    Issue 50506 - Replace slapi_entry_attr_get_charptr() with slapi_entry_attr_get_ref()
    
    Description:
    
    There has been a pattern/habit in the code of using slapi_entry_attr_get_charptr()
    to get an attribute value, but this function strdup's the entry's attribute value.
    In almost all cases the slapi_entry_attr_get_charptr() value is freed right away -
    it is not consumed. This is causing unnecessary malloc/free's which adds to
    fragmentation and hurts performance. Instead, if the attribute value is not consumed
    we should use slapi_entry_attr_get_ref() instead, which just grabs a pointer to
    the attribute value.
    
    relates: https://pagure.io/389-ds-base/issue/50506
    
    ASAN & covscan approved
    
    Reviewed by: lkrispen(Thanks!)
    
        
file modified
+15 -32
file modified
+1 -3
file modified
+1 -2
file modified
+2 -3
file modified
+18 -0
file modified
+1 -2
file modified
+3 -4
file modified
+23 -50
file modified
+7 -15
file modified
+2 -5
file modified
+7 -7
file modified
+26 -28