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.
Alexander Bokovoy authored 10 years ago
Nalin Dahyabhai committed 10 years ago
409 | 409 | const char *hexchars = "0123456789ABCDEF"; |
410 | 410 | char *rdn, *ndn, *ldif, *plugin_id, *keys[2], *values[2], **ava, *p, *q; |
411 | 411 | char *usn, *attr, *val; |
412 | unsigned int rdn_len, value_len, *ava_lens; | |
412 | unsigned int rdn_len[2], value_len[2], *ava_lens; | |
413 | 413 | const char *rdnstr; |
414 | 414 | int len, i, j, k, count; |
415 | 415 | Slapi_Entry *entry; |
438 | 438 | &data->common.inref_attrs, |
439 | 439 | &data->common.ref_attr_list, |
440 | 440 | &data->common.inref_attr_list, |
441 | &rdn_len); | |
441 | rdn_len); | |
442 | 442 | if ((rdn == NULL) || (strlen(rdn) == 0) || (strchr(rdn, '=') == NULL)) { |
443 | 443 | slapi_log_error(SLAPI_LOG_FATAL, plugin_id, |
444 | 444 | "no RDN for %s, unsetting domain/map/id " |
620 | 620 | rdn, ndn, slapi_entry_get_ndn(entry)); |
621 | 621 | keys[0] = (char *) rdnstr; |
622 | 622 | keys[1] = NULL; |
623 | rdn_len = strlen(rdnstr); | |
623 | rdn_len[0] = strlen(rdnstr); | |
624 | rdn_len[1] = -1; | |
624 | 625 | values[0] = (char *) slapi_entry_get_ndn(entry); |
625 | 626 | values[1] = NULL; |
626 | value_len = -1; | |
627 | value_len[0] = -1; | |
628 | value_len[1] = -1; | |
627 | 629 | map_data_set_entry(data->common.state, |
628 | 630 | data->common.group, data->common.set, ndn, |
629 | &rdn_len, keys, | |
630 | &value_len, values, | |
631 | rdn_len, keys, | |
632 | value_len, values, | |
631 | 633 | backend_entry_make_entry_data(source, e_dn, |
632 | 634 | entry), |
633 | 635 | backend_entry_free_entry_data); |