Dieser Faden sollte ein Byte mehr in ein Array schreiben, als dieses an Speicher alloziert hat.
// src/dietchan/src/pages/thread.c
char title[256];
title[0] = '\0';
if (post_subject(post)) {
// If subject is set, use it as title
// snippedie snapp :_--Ddd
}
if (title[0] == '\0') {
// If no subject is set, generate one from the post content
char *stripped = malloc(strlen(post_text(post))+1);
strcpy(stripped, post_text(post));
strip_bbcode(stripped);
while (isspace(*stripped)) ++stripped;
char *nl = &stripped[str_chr(stripped, '\n')];
*nl = '\0';
size_t len = nl-stripped;
if (len>sizeof(title))
len = sizeof(title); // <-- len := 256
strncpy(title, stripped, len);
title[len] = '\0'; // title[256] = '\0';
}
In der letzten Zeile - siehe Kommentare - wird der Bereich verletzt. Schade.