Auto-generate files after PR #27712
diff --git a/php/ext/google/protobuf/php-upb.c b/php/ext/google/protobuf/php-upb.c index 836b07d..da51db6 100644 --- a/php/ext/google/protobuf/php-upb.c +++ b/php/ext/google/protobuf/php-upb.c
@@ -9232,15 +9232,15 @@ }; static bool _upb_mapsorter_resize(_upb_mapsorter* s, _upb_sortedmap* sorted, - int size) { + size_t size) { sorted->start = s->size; sorted->pos = sorted->start; sorted->end = sorted->start + size; if (sorted->end > s->cap) { - const int oldsize = s->cap * sizeof(*s->entries); + const size_t oldsize = s->cap * sizeof(*s->entries); s->cap = upb_RoundUpToPowerOfTwo(sorted->end); - const int newsize = s->cap * sizeof(*s->entries); + const size_t newsize = s->cap * sizeof(*s->entries); s->entries = upb_grealloc(s->entries, oldsize, newsize); if (!s->entries) return false; } @@ -9251,7 +9251,7 @@ bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type, const upb_Map* map, _upb_sortedmap* sorted) { - int map_size = _upb_Map_Size(map); + size_t map_size = _upb_Map_Size(map); if (!_upb_mapsorter_resize(s, sorted, map_size)) return false;
diff --git a/php/ext/google/protobuf/php-upb.h b/php/ext/google/protobuf/php-upb.h index 40287b2..b941898 100644 --- a/php/ext/google/protobuf/php-upb.h +++ b/php/ext/google/protobuf/php-upb.h
@@ -2198,6 +2198,7 @@ // Pool miss: perform contiguous single allocation for header + initial data. const size_t array_size = UPB_ALIGN_UP(sizeof(struct upb_Array), UPB_MALLOC_ALIGN); + if (init_capacity > (SIZE_MAX - array_size) >> elem_size_lg2) return NULL; const size_t bytes = array_size + elem_bytes; size_t span = UPB_PRIVATE(_upb_Arena_AllocSpan)(bytes); if (!allow_slow && UPB_PRIVATE(_upb_ArenaHas)(arena) < span) return NULL; @@ -17868,14 +17869,14 @@ typedef struct { void const** entries; - int size; - int cap; + size_t size; + size_t cap; } _upb_mapsorter; typedef struct { - int start; - int pos; - int end; + size_t start; + size_t pos; + size_t end; } _upb_sortedmap; UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
diff --git a/ruby/ext/google/protobuf_c/ruby-upb.c b/ruby/ext/google/protobuf_c/ruby-upb.c index bae524e..4b4869b 100644 --- a/ruby/ext/google/protobuf_c/ruby-upb.c +++ b/ruby/ext/google/protobuf_c/ruby-upb.c
@@ -7981,15 +7981,15 @@ }; static bool _upb_mapsorter_resize(_upb_mapsorter* s, _upb_sortedmap* sorted, - int size) { + size_t size) { sorted->start = s->size; sorted->pos = sorted->start; sorted->end = sorted->start + size; if (sorted->end > s->cap) { - const int oldsize = s->cap * sizeof(*s->entries); + const size_t oldsize = s->cap * sizeof(*s->entries); s->cap = upb_RoundUpToPowerOfTwo(sorted->end); - const int newsize = s->cap * sizeof(*s->entries); + const size_t newsize = s->cap * sizeof(*s->entries); s->entries = upb_grealloc(s->entries, oldsize, newsize); if (!s->entries) return false; } @@ -8000,7 +8000,7 @@ bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type, const upb_Map* map, _upb_sortedmap* sorted) { - int map_size = _upb_Map_Size(map); + size_t map_size = _upb_Map_Size(map); if (!_upb_mapsorter_resize(s, sorted, map_size)) return false;
diff --git a/ruby/ext/google/protobuf_c/ruby-upb.h b/ruby/ext/google/protobuf_c/ruby-upb.h index f75417b..4108ed2 100755 --- a/ruby/ext/google/protobuf_c/ruby-upb.h +++ b/ruby/ext/google/protobuf_c/ruby-upb.h
@@ -2198,6 +2198,7 @@ // Pool miss: perform contiguous single allocation for header + initial data. const size_t array_size = UPB_ALIGN_UP(sizeof(struct upb_Array), UPB_MALLOC_ALIGN); + if (init_capacity > (SIZE_MAX - array_size) >> elem_size_lg2) return NULL; const size_t bytes = array_size + elem_bytes; size_t span = UPB_PRIVATE(_upb_Arena_AllocSpan)(bytes); if (!allow_slow && UPB_PRIVATE(_upb_ArenaHas)(arena) < span) return NULL; @@ -17582,14 +17583,14 @@ typedef struct { void const** entries; - int size; - int cap; + size_t size; + size_t cap; } _upb_mapsorter; typedef struct { - int start; - int pos; - int end; + size_t start; + size_t pos; + size_t end; } _upb_sortedmap; UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {