diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-22 15:09:09 +0200 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-22 15:15:25 +0200 |
commit | 8e06a1084dc0a89e6393d7152ae4a20af16cd6e5 (patch) | |
tree | 76414ea0e335be4b340805a1f430af110f49c418 /platform | |
parent | a34814b0b6767d1e894e0d7ef8fa7076b4eb20ce (diff) | |
download | redot-engine-8e06a1084dc0a89e6393d7152ae4a20af16cd6e5.tar.gz |
[iOS] Fix GDExtension init callback array reallocation.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/ios/os_ios.mm | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/platform/ios/os_ios.mm b/platform/ios/os_ios.mm index 68e6d4c934..16ac3acbec 100644 --- a/platform/ios/os_ios.mm +++ b/platform/ios/os_ios.mm @@ -72,16 +72,15 @@ HashMap<String, void *> OS_IOS::dynamic_symbol_lookup_table; void add_ios_init_callback(init_callback cb) { if (ios_init_callbacks_count == ios_init_callbacks_capacity) { - void *new_ptr = realloc(ios_init_callbacks, sizeof(cb) * 32); + void *new_ptr = realloc(ios_init_callbacks, sizeof(cb) * (ios_init_callbacks_capacity + 32)); if (new_ptr) { ios_init_callbacks = (init_callback *)(new_ptr); ios_init_callbacks_capacity += 32; + } else { + ERR_FAIL_MSG("Unable to allocate memory for extension callbacks."); } } - if (ios_init_callbacks_capacity > ios_init_callbacks_count) { - ios_init_callbacks[ios_init_callbacks_count] = cb; - ++ios_init_callbacks_count; - } + ios_init_callbacks[ios_init_callbacks_count++] = cb; } void register_dynamic_symbol(char *name, void *address) { |