Fix some memleaks

This commit is contained in:
李通洲
2022-09-22 21:28:20 +08:00
parent 6e09157235
commit cbab8d7f70
3 changed files with 17 additions and 0 deletions
+12
View File
@@ -72,6 +72,7 @@ static void initConfigDirs(FFstate* state)
startIndex = colonIndex + 1;
}
ffStrbufDestroy(&xdgConfigDirs);
FFstrbuf* systemConfigHome = ffListAdd(&state->configDirs);
ffStrbufInitA(systemConfigHome, 64);
@@ -382,6 +383,17 @@ void ffFinish(FFinstance* instance)
ffLogoPrintRemaining(instance);
resetConsole();
for(uint32_t i = 0; i < instance->state.configDirs.length; ++i)
ffStrbufDestroy((FFstrbuf*)ffListGet(&instance->state.configDirs, i));
ffListDestroy(&instance->state.configDirs);
ffStrbufDestroy(&instance->state.cacheDir);
for(uint8_t i = 0; i < (uint8_t) FASTFETCH_LOGO_MAX_COLORS; ++i)
ffStrbufDestroy(&instance->config.logo.colors[i]);
ffStrbufDestroy(&instance->config.colorKeys);
ffStrbufDestroy(&instance->config.colorTitle);
ffStrbufDestroy(&instance->config.separator);
ffStrbufDestroy(&instance->config.logo.source);
}
//Must be in a file compiled with the libfastfetch target, because the FF_HAVE* macros are not defined for the executable targets
+2
View File
@@ -1448,6 +1448,8 @@ int main(int argc, const char** argv)
startIndex = colonIndex + 1;
}
ffStrbufDestroy(&data.structure);
ffValuestoreDestroy(&data.customValues);
ffFinish(&instance);
}
+3
View File
@@ -15,6 +15,7 @@ void ffPrintPublicIp(FFinstance* instance)
if(result.length == 0)
{
ffPrintError(instance, FF_PUBLICIP_MODULE_NAME, 0, &instance->config.publicIP, "Failed to connect to an IP detection server");
ffStrbufDestroy(&result);
return;
}
@@ -29,4 +30,6 @@ void ffPrintPublicIp(FFinstance* instance)
{FF_FORMAT_ARG_TYPE_STRBUF, &result}
});
}
ffStrbufDestroy(&result);
}