1. 10 Sep, 2018 4 commits
  2. 05 Aug, 2018 2 commits
  3. 03 Aug, 2018 2 commits
  4. 01 Aug, 2018 2 commits
  5. 31 Jul, 2018 2 commits
    • IceTrailer's avatar
    • Veselin Georgiev's avatar
      Fix SIGBUS due to unaligned access · 748a652f
      Veselin Georgiev authored
      Update RAPIDJSON_ALIGN() to always align on an 8-byte boundary
      unless otherwise overridden.
      
      On some platforms (such as ARM), 64-bit items (such as doubles and
      64-bit integers) must be aligned to an 8 byte address, even though the
      architecture is only 32-bits. On these platforms, MemoryPoolAllocator
      must match the malloc() behavior and return a 8 byte aligned allocation.
      This eliminates any alignment issues that may occur at the expense of
      additional memory overhead.
      
      Failure to do so caused a SIGBUS signal when calling
      GenericValue::SetNull(). The size of the data_ member of the
      GenericValue class is 16 bytes in 32-bit mode and its constructor
      requires an 8-byte aligned access.
      
      While parsing a JSON formatted string using Document::ParseStream(), a
      stack object containing GenericValue items was constructed. Since the
      stack was 8-byte aligned, the constructor calls would succeed. When the
      lifetime of the object ends, SetObjectRaw() is invoked. This triggered
      an allocation with 4-byte alignment to which the previously 8-byte
      aligned GenericValue array was copied. After this, any call to a
      GenericValue API that triggered the constructor and thus the placement
      new operation on the Data type member would trigger a SIGBUS.
      Signed-off-by: 's avatarVeselin Georgiev <veselin.georgiev@garmin.com>
      Signed-off-by: 's avatarJoshua Watt <Joshua.Watt@garmin.com>
      748a652f
  6. 17 Jul, 2018 1 commit
  7. 16 Jul, 2018 1 commit
  8. 15 Jul, 2018 3 commits
    • Philipp A Hartmann's avatar
      Suppress -Wformat-overflow warning/error · 15251168
      Philipp A Hartmann authored
      GCC 7 and later warn about overflow/truncation when using
      sprintf and related functions with fixed-size buffers.
      
      Suppress the warning in schematest.cpp.
      15251168
    • Philipp A Hartmann's avatar
      Fix -Wsign-conversion warnings/errors · a26267d1
      Philipp A Hartmann authored
      GCC 8 (incorrectly) warns about sign conversions in (constant)
      array size expressions:
      
      error: conversion to 'long unsigned int' from 'int' may
      change the sign of the result [-Werror=sign-conversion]
           char schemaBuffer_[128 * 1024];
      
      Make these expressions unsigned by adding a 'u' suffix to
      the first operands.
      a26267d1
    • Philipp A Hartmann's avatar
      Fix -Wclass-memaccess warnings/errors · fa5963a2
      Philipp A Hartmann authored
      Recent GCC versions warn about using memcpy/memmove to
      write to a class pointer (-Wclass-memaccess).
      
      Avoid the warnings by casting to void* first.
      
      Closes #1086.
      Closes #1205.
      Closes #1246.
      fa5963a2
  9. 12 Jul, 2018 2 commits
  10. 10 Jul, 2018 1 commit
    • Christopher Warrington's avatar
      Guard against min/max being macros in reader.h · 960b9cfd
      Christopher Warrington authored
      Sometimes, particularly when Microsoft's windows.h is included, min/max
      are defined as macros, interfering with use of
      std::numeric_limits::min() and the like.
      
      To guard against this, the function name is wrapped in an extra set of
      parenthesis, which inhibits function-style macro expansion.
      
      This is a similar commit to 6e38649e, but fixes uses of
      std::numeric_limits added after that commit, like those introduced in
      2ea43433.
      960b9cfd
  11. 03 Jul, 2018 3 commits
  12. 02 Jul, 2018 2 commits
  13. 19 Jun, 2018 1 commit
  14. 18 Jun, 2018 1 commit
  15. 17 Jun, 2018 1 commit
  16. 16 Jun, 2018 7 commits
  17. 15 Jun, 2018 5 commits