Skip to content
Snippets Groups Projects
  1. Feb 11, 2019
  2. Feb 08, 2019
  3. Feb 07, 2019
  4. Jan 22, 2019
    • Mark OLESEN's avatar
      ENH: improved handling of zone allocation in surfMesh · 0800e021
      Mark OLESEN authored
      - relocate zone IO from Detail::MeshedSurfaceIOAllocator into surfMesh
        directly to allow re-purposing of MeshedSurfaceIOAllocator
      
      - provide meshedSurf::emptySurface zero-sized placeholder implementation
      
      - add concrete implementation of meshedSurf::zoneIds() to simplify
        overloading
      0800e021
  5. Feb 07, 2019
    • Mark OLESEN's avatar
      ENH: extend size of NullObject for safer reinterpret cast · eaa3da72
      Mark OLESEN authored
      - previously had a single pointer/value zeros (8 bytes), this meant
        that the reinterpret cast to a List would yield a reference that
        could be unsafe under certain conditions.
      
        Eg,
           const labelList& myList = labelList::null();
      
           Info<< myList.size() << nl; // OK since size is the first parameter
      
           SubList<label>(myList, 0);  // Unsafe
      
        The SubList usage is unsafe since it passes in pointer and size into
        the underlying UList. However, the pointer from the labelList::null()
        will be whatever happens to be around in memory immediately after the
        NullObject singleton. This is mostly not a problem if the List size
        is always checked, but does mean that the data pointer is rather
        dubious.
      
      - Increase the size of the nullObject singleton to 32 bytes of zeros
        to ensure that most reinterpret casting will not result in objects
        that reference arbitrary memory.
      
        The 32-byte data size is rather arbitrary, but covers most basic
        containers.
      eaa3da72
    • Mark OLESEN's avatar
  6. Feb 05, 2019
  7. Feb 07, 2019
  8. Feb 06, 2019
  9. Feb 05, 2019
  10. Feb 04, 2019
  11. Feb 01, 2019