summaryrefslogtreecommitdiffstats
path: root/platform
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-11-22 15:09:09 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-11-22 15:15:25 +0200
commit8e06a1084dc0a89e6393d7152ae4a20af16cd6e5 (patch)
tree76414ea0e335be4b340805a1f430af110f49c418 /platform
parenta34814b0b6767d1e894e0d7ef8fa7076b4eb20ce (diff)
downloadredot-engine-8e06a1084dc0a89e6393d7152ae4a20af16cd6e5.tar.gz
[iOS] Fix GDExtension init callback array reallocation.
Diffstat (limited to 'platform')
-rw-r--r--platform/ios/os_ios.mm9
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) {