fe65008 Clear next field when returnining list elements in queue.c

1 file Authored by rharwood 5 years ago, Committed by frenaud 5 years ago,
    Clear next field when returnining list elements in queue.c
    
    The ipa-otpd code occasionally removes elements from one queue,
    inspects and modifies them, and then inserts them into
    another (possibly identical, possibly different) queue.  When the next
    pointer isn't cleared, this can result in element membership in both
    queues, leading to double frees, or even self-referential elements,
    causing infinite loops at traversal time.
    
    Rather than eliminating the pattern, make it safe by clearing the next
    field any time an element enters or exits a queue.
    
    Related https://pagure.io/freeipa/issue/7262
    
    Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com>
    
        
file modified
+7 -0