1. 12 Oct, 2019 1 commit
    • Alan Wu's avatar
      Remove unused argument to avoid UB · c1ba7c64
      Alan Wu authored
      `OneOfDescriptor_each` is registered as a Ruby method which takes zero
      parameters, which means it should take one argument.
      
      When Ruby invokes `OneOfDescriptor_each`, it calls it with one parameter
      only, which is one less than what `OneOfDescriptor_each` takes before
      this commit. Calling a function with the wrong number of argument is
      technically undefined behavior.
      
      See also: §6.5.2.2, N1256
      c1ba7c64
  2. 25 Sep, 2019 1 commit
  3. 05 Sep, 2019 1 commit
  4. 04 Sep, 2019 1 commit
  5. 28 Aug, 2019 1 commit
  6. 27 Aug, 2019 1 commit
  7. 22 Aug, 2019 4 commits
  8. 20 Aug, 2019 1 commit
  9. 16 Aug, 2019 2 commits
  10. 15 Aug, 2019 2 commits
  11. 14 Aug, 2019 1 commit
    • Joshua Haberman's avatar
      Roll forward Ruby upb changes now that protobuf Ruby build is fixed (#5866) · 63f324a9
      Joshua Haberman authored
      * Rolled forward again with "Updated upb from defcleanup branch..."
      
      Revert "Revert "Updated upb from defcleanup branch and modified Ruby to use it (#5539)" (#5848)"
      
      This reverts commit 1568deab.
      
      * A few more merge fixes.
      
      * Updated for defcleanup2 branch.
      
      * Fixed upb to define upb_decode().
      
      * Fixed names of nested messages.
      
      * Revert submodule.
      
      * Set -std=gnu90 and fixed warnings/errors.
      
      Some of our Kokoro tests seem to run with this level of warnings,
      and the source strives to be gnu90 compatible.  Enforcing it for
      every build removes the possibility of some errors showing up in
      Kokoro/Travis tests only.
      
      * Fixed remaining warnings with gnu90 mode.
      
      I tried to match warning flags with what Ruby appears to do
      in our Kokoro tests.
      
      * Initialize values registered by rb_gc_register_address().
      
      * Fixed subtle GC bug.
      
      We need to initialize this marked value before creating the instance.
      
      * Truly fix the GC bug.
      
      * Updated upb for mktime() fix.
      
      * Removed XOPEN_SOURCE as we are not using strptime().
      
      * Removed fixed tests from the conformance failure list for Ruby.
      
      * Fixed memory error related to oneof def names.
      
      * Picked up new upb changes re: JSON printing.
      
      * Uncomment concurrent decoding test.
      63f324a9
  12. 13 Aug, 2019 1 commit
    • Joshua Haberman's avatar
      Optimized away the creation of empty string objects. · 1e37a94b
      Joshua Haberman authored
      Prior to this CL, creating an empty message object would create
      two empty string objects for every declared field.  First we
      created a unique string object for the field's default.  Then
      we created yet another string object when we assigned the
      default value into the message: we called #encode to ensure
      that the string would have the correct encoding and be frozen.
      
      I optimized these unnecessary objects away with two fixes:
      
      1. Memoize the empty string so that we don't create a new empty
         string for every field's default.
      2. If we are assigning a string to a message object, avoid creating
         a new string if the assigned string has the correct encoding and
         is already frozen.
      1e37a94b
  13. 25 Jul, 2019 1 commit
  14. 23 Jul, 2019 1 commit
  15. 17 Jun, 2019 1 commit
  16. 16 Jun, 2019 1 commit
  17. 22 May, 2019 1 commit
  18. 14 May, 2019 1 commit
  19. 13 May, 2019 1 commit
  20. 10 May, 2019 1 commit
  21. 28 Mar, 2019 3 commits
  22. 27 Mar, 2019 2 commits
  23. 26 Mar, 2019 1 commit
  24. 25 Mar, 2019 2 commits
  25. 20 Mar, 2019 1 commit
  26. 14 Mar, 2019 1 commit
  27. 12 Mar, 2019 1 commit
  28. 11 Mar, 2019 1 commit
  29. 08 Mar, 2019 1 commit
  30. 06 Mar, 2019 2 commits