diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c --- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500 +++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500 @@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th this->total_songs = header[6]; this->current_song = header[7]; - this->title = strdup(&header[0x0E]); - this->artist = strdup(&header[0x2E]); - this->copyright = strdup(&header[0x4E]); + this->title = strndup((char*)&header[0x0E], 0x20); + this->artist = strndup((char*)&header[0x2E], 0x20); + this->copyright = strndup((char*)&header[0x4E], 0x20); this->filesize = this->input->get_length(this->input);