Trillian
10-08-2002, 13:54
Hallo,
ich habe gerade festgestellt, dass in folgendem Code ein Memory Leak drin ist... aber ich seh meinen Fehler einfach nicht!
char *leak(char *input)
{
char * result;
result = g_strdup(input); /* malloc'ed speicher und kopiert input da rein */
return result;
}
int main()
{
int i;
char *foo, *tmp;
foo = g_strdup("Bar");
for (;;)
{
tmp = g_strdup(foo);
foo = leak(tmp);
g_free(tmp); /* free() eben */
}
return 0;
}
Was mache ich da falsch?
Danke,
Trillian
ich habe gerade festgestellt, dass in folgendem Code ein Memory Leak drin ist... aber ich seh meinen Fehler einfach nicht!
char *leak(char *input)
{
char * result;
result = g_strdup(input); /* malloc'ed speicher und kopiert input da rein */
return result;
}
int main()
{
int i;
char *foo, *tmp;
foo = g_strdup("Bar");
for (;;)
{
tmp = g_strdup(foo);
foo = leak(tmp);
g_free(tmp); /* free() eben */
}
return 0;
}
Was mache ich da falsch?
Danke,
Trillian