746abe7 Ticket 49394 - slapi_pblock_get may leave unchanged the provided variable

Authored and Committed by tbordaz 2 years ago
    Ticket 49394 - slapi_pblock_get may leave unchanged the provided variable
    
    Bug Description:
    	Since 1.3.6.4 the pblock struct is a split in sub-structs
    	(https://pagure.io/389-ds-base/issue/49097)
    
    	Before, it was a quite flat calloc struct and any slapi-pblock-get
    	retrieved the field (NULL if not previously slapi_pblock_set) and
    	assigned the provided variable.
    
    	Now, the sub-struct are allocated on demand (slapi_pblock_set).
    	If a substruct that contains the requested field is not allocated the
    	provided variable is unchanged.
    
    	This is a change of behavior, because a uninitialized local variable can
    	get random value (stack) if the lookup field/struct has not been set.
    
    Fix Description:
    	Update slapi_pblock_set so that it systematically sets the
    	provided variable when those substructs are NULL
    		pb_mr
    		pb_dse
    		pb_task
    		pb_misc
    		pb_intop
    		pb_intplugin
    		pb_deprecated
    
    https://pagure.io/389-ds-base/issue/49394
    
    Reviewed by: Mark Reynolds, William Brown
    
    Platforms tested: F23
    
    Flag Day: no
    
    Doc impact: no
    
        
file modified
+165 -1