mirror of
https://github.com/wiiu-env/WiiUPluginSystem.git
synced 2025-02-09 05:43:23 +01:00
Fix potential memory leak when creating config items fails
This commit is contained in:
parent
bf8d300588
commit
7b9868bd0e
@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
extern "C" int32_t WUPSConfigItem_Create(WUPSConfigItemHandle *out, const char *configID, const char *displayName, WUPSConfigCallbacks_t callbacks, void *context);
|
extern "C" int32_t WUPSConfigItem_Create(WUPSConfigItemHandle *out, const char *configID, const char *displayName, WUPSConfigCallbacks_t callbacks, void *context);
|
||||||
|
|
||||||
|
extern "C" int32_t WUPSConfigItem_Destroy(WUPSConfigItemHandle handle);
|
||||||
|
|
||||||
extern "C" int32_t WUPSConfig_Destroy(WUPSConfigHandle handle);
|
extern "C" int32_t WUPSConfig_Destroy(WUPSConfigHandle handle);
|
||||||
|
|
||||||
extern "C" int32_t WUPSConfigItem_SetDisplayName(WUPSConfigItemHandle handle, const char *displayName);
|
extern "C" int32_t WUPSConfigItem_SetDisplayName(WUPSConfigItemHandle handle, const char *displayName);
|
||||||
|
@ -90,6 +90,7 @@ WUPSConfigItemBoolean_AddToCategoryEx(WUPSConfigCategoryHandle cat, const char *
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
||||||
|
WUPSConfigItem_Destroy(item->handle);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -98,6 +98,7 @@ extern "C" bool WUPSConfigItemIntegerRange_AddToCategory(WUPSConfigCategoryHandl
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
||||||
|
WUPSConfigItem_Destroy(item->handle);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -127,6 +127,7 @@ WUPSConfigItemMultipleValues_AddToCategory(WUPSConfigCategoryHandle cat, const c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
if (WUPSConfigCategory_AddItem(cat, item->handle) < 0) {
|
||||||
|
WUPSConfigItem_Destroy(item->handle);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
:TEXT
|
:TEXT
|
||||||
WUPSConfigItem_Create
|
WUPSConfigItem_Create
|
||||||
|
WUPSConfigItem_Destroy
|
||||||
WUPSConfigItem_SetDisplayName
|
WUPSConfigItem_SetDisplayName
|
||||||
WUPSConfigItem_GetDisplayName
|
WUPSConfigItem_GetDisplayName
|
||||||
WUPSConfigItem_SetConfigID
|
WUPSConfigItem_SetConfigID
|
||||||
|
Loading…
x
Reference in New Issue
Block a user