adamwill / 389-ds-base

Forked from 389-ds-base 4 years ago
Clone

d36f7ea Ticket #47448 - Segfault in 389-ds-base-1.3.1.4-1.fc19 when setting up FreeIPA replication

1 file Authored by rmeggins 10 years ago, Committed by nhosoi 10 years ago,
    Ticket #47448 - Segfault in 389-ds-base-1.3.1.4-1.fc19 when setting up FreeIPA replication
    
    https://fedorahosted.org/389/ticket/47448
    Reviewed by: lkrispenz (Thanks!)
    Branch: master
    Fix Description: valueset_add_valueset() sets the values in the vs1
    destination valueset.  It expects that vs1 is empty.  Particularly, the
    sorted array.  If the source valueset vs2->sorted is NULL, it assumes
    vs1->sorted is NULL already, and does not free it and set it to NULL.
    The fix is to free both vs1->sorted and vs1->va.  NOTE: this fixes
    the crash, but does not address the larger issue that the semantics of
    valueset_add_valueset are not correct - valueset_add_valueset should add
    the values from vs2 to vs1, rather than replace vs1 with vs2.
    Also added post-condition assertions.
    Platforms tested: RHEL6 x86_64
    Flag Day: no
    Doc impact: no
    (cherry picked from commit df53a874436503ef99594fc09e3d817317f86940)
    
    Backported from 389-ds-base-1.3.1 to 389-ds-base-1.2.11.
    The patch was reviewed by rmeggins@redhat.com (Thank you, Rich!!)
    NOTE: this patch is needed for Ticket #346 - Slow ldapmodify operation
    time for large quantities of multi-valued attribute values
    
        
file modified
+17 -1