summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-11-22 15:05:18 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-11-22 15:05:18 +0100
commit923ef2b46a04e8f54c0a60bae8a0a6269fa52ed2 (patch)
tree3a4b4e726c722f7206fc1c06688a15d64786af5f
parentf824a670fdc53a8a62f28a4ffbad98031be8645c (diff)
parent8e06a1084dc0a89e6393d7152ae4a20af16cd6e5 (diff)
downloadredot-engine-923ef2b46a04e8f54c0a60bae8a0a6269fa52ed2.tar.gz
Merge pull request #85216 from bruvzg/ios_fix_extension_init_realloc
[iOS] Fix GDExtension init callback array reallocation.
-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) {