diff options
author | Alexander Bokovoy <abokovoy@redhat.com> | 2013-09-02 15:58:09 +0300 |
---|---|---|
committer | Nalin Dahyabhai <nalin@dahyabhai.net> | 2013-11-15 15:12:57 -0500 |
commit | 41b540bc76068355e076ba95e60780bd95905d77 (patch) | |
tree | 9193fd86ff1eb576854d94960d1c4ce59aeb1a43 /src | |
parent | 7416c28fa55cb9ae2a41851fb1f1c7d5b2a64b6f (diff) | |
download | slapi-nis-41b540bc76068355e076ba95e60780bd95905d77.tar.gz slapi-nis-41b540bc76068355e076ba95e60780bd95905d77.tar.xz slapi-nis-41b540bc76068355e076ba95e60780bd95905d77.zip |
Coverity#11937: use proper structure to pass to map_data_set_entry()
map_data_set_entry() passes pointers to the lengths of the key and the value
to map_data_save_list() which interpretes them as arrays of integers.
Diffstat (limited to 'src')
-rw-r--r-- | src/back-sch.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/back-sch.c b/src/back-sch.c index e5a6937..dde363c 100644 --- a/src/back-sch.c +++ b/src/back-sch.c @@ -410,7 +410,7 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source, const char *hexchars = "0123456789ABCDEF"; char *rdn, *ndn, *ldif, *plugin_id, *keys[2], *values[2], **ava, *p, *q; char *usn, *attr, *val; - unsigned int rdn_len, value_len, *ava_lens; + unsigned int rdn_len[2], value_len[2], *ava_lens; const char *rdnstr; int len, i, j, k, count; Slapi_Entry *entry; @@ -439,7 +439,7 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source, &data->common.inref_attrs, &data->common.ref_attr_list, &data->common.inref_attr_list, - &rdn_len); + rdn_len); if ((rdn == NULL) || (strlen(rdn) == 0) || (strchr(rdn, '=') == NULL)) { slapi_log_error(SLAPI_LOG_FATAL, plugin_id, "no RDN for %s, unsetting domain/map/id " @@ -621,14 +621,16 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source, rdn, ndn, slapi_entry_get_ndn(entry)); keys[0] = (char *) rdnstr; keys[1] = NULL; - rdn_len = strlen(rdnstr); + rdn_len[0] = strlen(rdnstr); + rdn_len[1] = -1; values[0] = (char *) slapi_entry_get_ndn(entry); values[1] = NULL; - value_len = -1; + value_len[0] = -1; + value_len[1] = -1; map_data_set_entry(data->common.state, data->common.group, data->common.set, ndn, - &rdn_len, keys, - &value_len, values, + rdn_len, keys, + value_len, values, backend_entry_make_entry_data(source, e_dn, entry), backend_entry_free_entry_data); |