1. 24 Jun, 2019 1 commit
  2. 18 May, 2019 7 commits
  3. 17 May, 2019 2 commits
  4. 16 May, 2019 1 commit
    • Adam Cozzette's avatar
      Fixed out-of-bounds read · d58d7ca2
      Adam Cozzette authored
      The scan_length_prefixed_data() function returns the number of bytes
      taken up by a varint length delimiter, plus the actual value of that
      delimiter. Since it returns a uint32_t, a delimiter of 2^32 - 1 (or
      close to that) could cause the return value to overflow and result in an
      incorrect value.
      
      At first I tried to fix it by making scan_length_prefixed_data() use a
      size_t for its result, but I realized this would have no effect on
      32-bit systems. To fix the problem for 32-bit, I changed the function to
      return early if the length is 2 GiB or more (protobuf messages are not
      allowed to be that large). I kept the size_t change anyway, since the
      result will ultimately be stored in a size_t (ScannedMember.len) and we
      might as well stay consistent with that.
      Signed-off-by: default avatarAdam Cozzette <acozzette@google.com>
      d58d7ca2
  5. 16 Apr, 2019 1 commit
  6. 11 Apr, 2019 4 commits
    • Robert Edmonds's avatar
      Merge pull request #369 from protobuf-c/edmonds/protobuf-reflection-typedef-test-fix · 9412830d
      Robert Edmonds authored
      t/generated-code2/cxx-generate-packed-data.cc: Fix build failure on newer protobuf
      9412830d
    • Robert Edmonds's avatar
      t/generated-code2/cxx-generate-packed-data.cc: Fix build failure on newer protobuf · 7456d162
      Robert Edmonds authored
      google::protobuf::Message::Reflection has been removed in newer versions
      of protobuf. The replacement is google::protobuf::Reflection.
      
      protobuf in commit 779f61c6a3ce02a119e28e802f229e61b69b9046 ("Integrate
      recent changes from google3.", from August 2008) changed the following
      in message.h:
      
          @@ -336,7 +337,8 @@ class LIBPROTOBUF_EXPORT Message {
      
             // Introspection ---------------------------------------------------
      
          -  class Reflection;  // Defined below.
          +  // Typedef for backwards-compatibility.
          +  typedef google::protobuf::Reflection Reflection;
      
      The "typedef for backwards-compatibility" apparently lasted ten years
      until protobuf commit 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3
      ("Down-integrate from google3.", from August 2018) which finally removed
      the typedef:
      
          @@ -327,8 +344,6 @@ class LIBPROTOBUF_EXPORT Message : public MessageLite {
      
             // Introspection ---------------------------------------------------
      
          -  // Typedef for backwards-compatibility.
          -  typedef google::protobuf::Reflection Reflection;
      
      This commit updates the only use of this typedef (in the test suite) to
      directly refer to the replacement, google::protobuf::Reflection. This
      fixes the build failure in the test suite.
      7456d162
    • Robert Edmonds's avatar
      Merge pull request #368 from protobuf-c/edmonds/travis/protobuf-3.7.1 · 8a362db9
      Robert Edmonds authored
      .travis.yml: Bump protobuf version to 3.7.1, use new URL
      8a362db9
    • Robert Edmonds's avatar
  7. 05 Feb, 2019 1 commit
  8. 14 Aug, 2018 14 commits
  9. 13 Aug, 2018 2 commits
  10. 11 Mar, 2018 1 commit
  11. 29 Nov, 2017 1 commit
  12. 25 Sep, 2017 1 commit
  13. 14 Aug, 2017 1 commit
  14. 07 Aug, 2017 1 commit
    • Robert Edmonds's avatar
      Restore protobuf-2.x compatibility · 4302266b
      Robert Edmonds authored
      The change in commit 712154b9 ("Bump
      minimum required header version for proto3 syntax") uses functionality
      only exposed by protobuf-3.x, breaking the build when compiling against
      protobuf-2.x.
      
      Since we still want to support building against protobuf-2.x, this
      commit makes the proto3 syntax check in the file generator dependent on
      building against protobuf-3.x.
      4302266b
  15. 05 Aug, 2017 2 commits