diff options
author | Noriko Hosoi <nhosoi@kiki.usersys.redhat.com> | 2009-06-26 15:18:09 -0700 |
---|---|---|
committer | Noriko Hosoi <nhosoi@kiki.usersys.redhat.com> | 2009-06-26 15:18:09 -0700 |
commit | cb6e4b71b5544f35414be730d89ca66a944b8bba (patch) | |
tree | 0f0410f7081916236491ed7b18f9f9ce6c9b5f13 /lib/libaccess/oneeval.cpp | |
parent | 04efbf04c46a84429c60bd6c624ab6282d9dd913 (diff) | |
download | ds-cb6e4b71b5544f35414be730d89ca66a944b8bba.tar.gz ds-cb6e4b71b5544f35414be730d89ca66a944b8bba.tar.xz ds-cb6e4b71b5544f35414be730d89ca66a944b8bba.zip |
506137 ns-slapd hang while group aci performance testing
Bug description: If a group has more than 32767 members (max short),
a variable 'n' declared as short overflows. The value is used to calculate an
array size to store group member info, which memory is not properly allocated
and it ends up crashing up the server.
Fix description: Replaced the problematic short variable type with integer.
Plus, the each member info was storing a pointer pointing to an element inside
of the array. When the array is "realloc"ed, it's possible for the addresses
to be relocated. To solve the problem, the new code stores the index of array
instead of the address.
Diffstat (limited to 'lib/libaccess/oneeval.cpp')
0 files changed, 0 insertions, 0 deletions