Skip to content
  • Thierry Bordaz's avatar
    Ticket 49954 - On s390x arch retrieved DB page size is stored as size_t rather than uint32_t · b4164ccf
    Thierry Bordaz authored
    Bug Description:
    	The page size is retrieved from uint32_t dblayer_page_size.
    	Later it is stored in a size_t variable with a cast.
    	Depending on little/big endian the page size can be stored in the upper/lower bits of the 64bits variable.
    	Later the variable is used to set the page size of a database file using the lower bits (uint32_t) that are zeroed.
    
    Fix Description:
    	The BDB callback to set the pagesize, expects a a uint32_t.
    	Make sure the field containing it is uint32_t (instead of size_t) as the page
    	size is retrieved as a uint32_t as well (dblayer_page_size/BACK_INFO_INDEXPAGESIZE)
    
    https://pagure.io/389-ds-base/issue/49954
    
    Reviewed by: Ludwig Krispen
    
    Platforms tested: F27
    
    Flag Day: no
    
    Doc impact: no
    b4164ccf
Loading