1. 08 Apr, 2024 1 commit
    • Abseil LTS Branch, Jan 2024, Patch 2 (#1650) · d7aaad83
      * Prevent overflow in absl::CEscape()
      Strings larger than 1 GiB on a platform with a 32-bit size_t could
      potentially overflow size_t in `CEscapedLength()`, resulting in an
      undersized allocation. The resulting write in
      `CEscapeAndAppendInternal()` would then write beyond the bounds of the
      output buffer.
      
      A second overflow, where the calculated escaped length is added to the
      size of the string being appended to, is also fixed.
      
      In both cases the program will now abort prior to the overflow.
      
      Credit goes to Ronald Crane (Zippenhop LLC) for reporting this issue.
      
      PiperOrigin-RevId: 607019573
      Change-Id: I97bf246cde96102a793d2db49446cccae08abf59
      
      * Workaround for NVIDIA C++ compiler being unable to parse variadic
      expansions in range of range-based for loop
      
      Fixes: #1629
      PiperOrigin-RevId: 611131201
      Change-Id: I787731e00207b544ee16055e6e0d323a5094a433
      
      * Fix OSX support with CocoaPods and Xcode 15
      
      PiperOrigin-RevId: 615090942
      Change-Id: I7cc20a0129dcfbbddedd9e6d816bb6234bff14b3
      
      * PR #1643: add xcprivacy to all subspecs
      Imported from GitHub PR #1643
      
      Addressing comments at #1604
      Add a xcprivacy subspec and have all other subspecs depend on it (option 1)
      
      Didn't going with option 3 because there are several levels of subspecs in abseil podspec, it's difficult to track whether all of them directly or indirectly depends on abseil/base/config or ensure they will continue to depend on it.
      
      Example of generated podsped: https://gist.github.com/HannahShiSFB/15d8fb6aa637f2781b7be4218d080f11
      Merge 4405cdf into 4539c540
      
      Merging this change closes #1643
      
      COPYBARA_INTEGRATE_REVIEW=#1643 from HannahShiSFB:privacy-manifests 4405cdf
      PiperOrigin-RevId: 616914674
      Change-Id: If56d5a4f1a7cc6f9fac7a2d8e95b55d140e645fc
      Derek Mauro committed
  2. 12 Feb, 2024 1 commit
  3. 07 Feb, 2024 1 commit
  4. 22 Jan, 2024 1 commit
  5. 16 Jan, 2024 2 commits
  6. 13 Jan, 2024 1 commit
  7. 12 Jan, 2024 1 commit
  8. 11 Jan, 2024 3 commits
  9. 10 Jan, 2024 3 commits
  10. 09 Jan, 2024 1 commit
  11. 05 Jan, 2024 1 commit
  12. 04 Jan, 2024 2 commits
    • Optimize integer-to-string conversions · d5a2cec0
      The updated code is designed to:
      - Be branch-predictor-friendly
      - Be cache-friendly
      - Minimize the lengths of critical paths
      - Minimize slow operations (particularly multiplications)
      - Minimize binary/codegen bloat
      
      The most notable performance trick here is perhaps the precomputation & caching of the number of digits, so that we can reuse/exploit it when writing the output.
      
      This precomputation of the exact length enables 2 further performance benefits:
      - It makes `StrCat` and `StrAppend` zero-copy when only integers are passed, by avoiding intermediate `AlphaNum` entirely in those cases. If needed in the future, we can probably also make many other mixtures of non-integer types zero-copy as well.
      - It avoids over-reservation of the string buffer, allowing for more strings to fit inside SSO, which will likely have further performance benefits.
      
      There is also a side benefit of preventing `FastIntToBuffer` from writing beyond the end of the buffer, which has caused buffer overflows in the past.
      
      The new code continues to use & extend some of the existing core tricks (such as the division-by-100 trick), as those are already efficient.
      
      PiperOrigin-RevId: 595785531
      Change-Id: Id6920e7e038fec10b2c45f213de75dc7e2cbddd1
      Abseil Team committed
    • Correct nullability annotations on MakeNan · ccf0c773
      Neither GCC nor Clang's __builtin_nan(), nor glibc's nan(), accept null pointers.
      
      PiperOrigin-RevId: 595767225
      Change-Id: I4cddd1cafd0c9e83a823ec68386f10ce077c6b4c
      Abseil Team committed
  13. 03 Jan, 2024 2 commits
  14. 02 Jan, 2024 3 commits
  15. 28 Dec, 2023 2 commits
  16. 27 Dec, 2023 2 commits
  17. 26 Dec, 2023 2 commits
  18. 21 Dec, 2023 2 commits
  19. 20 Dec, 2023 6 commits
  20. 19 Dec, 2023 3 commits