Hallo alle miteinander,
ich bastel gerade an einem Programm für die Uni herum und bekomme die folgende Fehlermeldung:
Ich habe mein Programm nun einmal durchdebuggt und ich komme einfach nicht darauf, woran der Fehler liegt.
In meinem Programm setze ich zunächst folgende char-Arrays:
Diese werden anschließend an eine weitere Funktion übergeben. Diese habe ich inzwischen soweit auskommentiert, dass ich nur noch folgenden Inhalt drin stehen habe:
Es knallt hierbei beim letzten free().
Nun habe ich mal verschiedene Werte für blogTitle und blogURL ausprobiert. Bei blogURL kann ich eingeben was ich will, das free wird korrekt ausgeführt. Beim free von "filename" knallt es hingegen, sobald ich >= 28 Zeichen eingebe.
Hat jemand eine Idee, wo der Fehler liegen könnte?
ich bastel gerade an einem Programm für die Uni herum und bekomme die folgende Fehlermeldung:
Code:
*** glibc detected *** ./main: free(): invalid next size (fast): 0x08214480 ***
Ich habe mein Programm nun einmal durchdebuggt und ich komme einfach nicht darauf, woran der Fehler liegt.
In meinem Programm setze ich zunächst folgende char-Arrays:
Code:
mainWindow->blog->blogTitle = "www.example.org/try";
mainWindow->blog->blogURL = "http://www.example.org/try/blog";
Diese werden anschließend an eine weitere Funktion übergeben. Diese habe ich inzwischen soweit auskommentiert, dass ich nur noch folgenden Inhalt drin stehen habe:
Code:
int readBlog(blog_t *blog)
{
char *filename = (char *)malloc(sizeof(char) * (strlen(blog->blogTitle) + 9));
char *downloadURL = (char *)malloc(sizeof(char) * (strlen(blog->blogURL) + 9));
sprintf(downloadURL,"%s/blog.xml",blog->blogURL);
sprintf(filename,"/tmp/%s.xml",blog->blogTitle);
free(downloadURL);
free(filename);
return 0;
}
Es knallt hierbei beim letzten free().
Nun habe ich mal verschiedene Werte für blogTitle und blogURL ausprobiert. Bei blogURL kann ich eingeben was ich will, das free wird korrekt ausgeführt. Beim free von "filename" knallt es hingegen, sobald ich >= 28 Zeichen eingebe.
Hat jemand eine Idee, wo der Fehler liegen könnte?