fix memory leak when initialize obj fail

This commit is contained in:
Rongsong Shen 2026-07-17 17:15:48 +08:00
parent 7212ba170d
commit 53cf11e6df

View file

@ -42,14 +42,17 @@ var makeInstance(typeinfo_t* type, ...)
obj = objAlloc(type, type->dataSize(ap1)); obj = objAlloc(type, type->dataSize(ap1));
va_end(ap1); va_end(ap1);
if (obj != NULL) { if (obj == NULL) {
rc = type->init(obj, ap); va_end(ap);
return NULL;
} }
rc = type->init(obj, ap);
va_end(ap); va_end(ap);
if (rc < 0) { if (rc < 0) {
destroy(obj); destroy(RTTI_OBJ_TO_DATA(void, obj));
return NULL; return NULL;
} }