Skip to content

Commit cbab8d7

Browse files
committed
Fix some memleaks
1 parent 6e09157 commit cbab8d7

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

src/common/init.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ static void initConfigDirs(FFstate* state)
7272

7373
startIndex = colonIndex + 1;
7474
}
75+
ffStrbufDestroy(&xdgConfigDirs);
7576

7677
FFstrbuf* systemConfigHome = ffListAdd(&state->configDirs);
7778
ffStrbufInitA(systemConfigHome, 64);
@@ -382,6 +383,17 @@ void ffFinish(FFinstance* instance)
382383
ffLogoPrintRemaining(instance);
383384

384385
resetConsole();
386+
387+
for(uint32_t i = 0; i < instance->state.configDirs.length; ++i)
388+
ffStrbufDestroy((FFstrbuf*)ffListGet(&instance->state.configDirs, i));
389+
ffListDestroy(&instance->state.configDirs);
390+
ffStrbufDestroy(&instance->state.cacheDir);
391+
for(uint8_t i = 0; i < (uint8_t) FASTFETCH_LOGO_MAX_COLORS; ++i)
392+
ffStrbufDestroy(&instance->config.logo.colors[i]);
393+
ffStrbufDestroy(&instance->config.colorKeys);
394+
ffStrbufDestroy(&instance->config.colorTitle);
395+
ffStrbufDestroy(&instance->config.separator);
396+
ffStrbufDestroy(&instance->config.logo.source);
385397
}
386398

387399
//Must be in a file compiled with the libfastfetch target, because the FF_HAVE* macros are not defined for the executable targets

src/fastfetch.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1448,6 +1448,8 @@ int main(int argc, const char** argv)
14481448

14491449
startIndex = colonIndex + 1;
14501450
}
1451+
ffStrbufDestroy(&data.structure);
1452+
ffValuestoreDestroy(&data.customValues);
14511453

14521454
ffFinish(&instance);
14531455
}

src/modules/publicip.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ void ffPrintPublicIp(FFinstance* instance)
1515
if(result.length == 0)
1616
{
1717
ffPrintError(instance, FF_PUBLICIP_MODULE_NAME, 0, &instance->config.publicIP, "Failed to connect to an IP detection server");
18+
ffStrbufDestroy(&result);
1819
return;
1920
}
2021

@@ -29,4 +30,6 @@ void ffPrintPublicIp(FFinstance* instance)
2930
{FF_FORMAT_ARG_TYPE_STRBUF, &result}
3031
});
3132
}
33+
34+
ffStrbufDestroy(&result);
3235
}

0 commit comments

Comments
 (0)