summaryrefslogtreecommitdiff
path: root/upb/upb.c
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2019-01-23 12:58:20 -0800
committerJoshua Haberman <jhaberman@gmail.com>2019-01-23 12:58:20 -0800
commit315c167bedbe33386e0bffd537d1f28eb259c986 (patch)
tree3539617796376e261a2ec6e619b18bc28a95cc4c /upb/upb.c
parent04923fc26e1ca9f935fe10fb0de0fa932f7aa8b4 (diff)
Some more fixes for PHP.
Diffstat (limited to 'upb/upb.c')
-rw-r--r--upb/upb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/upb/upb.c b/upb/upb.c
index d8d2723..9f80639 100644
--- a/upb/upb.c
+++ b/upb/upb.c
@@ -191,10 +191,8 @@ upb_arena *upb_arena_init(void *mem, size_t n, upb_alloc *alloc) {
}
}
- a = mem;
- mem = (char*)mem + sizeof(*a);
+ a = (void*)((char*)mem + n - sizeof(*a));
n -= sizeof(*a);
- upb_arena_addblock(a, mem, n, owned);
a->alloc.func = &upb_arena_doalloc;
a->block_alloc = &upb_alloc_global;
@@ -205,6 +203,8 @@ upb_arena *upb_arena_init(void *mem, size_t n, upb_alloc *alloc) {
a->block_head = NULL;
a->block_alloc = alloc;
+ upb_arena_addblock(a, mem, n, owned);
+
return a;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback