- write_u16(buf + AFHI_EOF_OFFSET, tv2ms(&afhi->eof_tv));
- strcpy(buf + AFHI_INFO_STRING_OFFSET, afhi->info_string); /* OK */
+ p = buf + AFHI_INFO_STRING_OFFSET;
+ /* The sprintf's below are OK as our caller made sure that buf is large enough */
+ p += sprintf(p, "%s", afhi->techinfo) + 1;
+ p += sprintf(p, "%s", afhi->tags.artist) + 1;
+ p += sprintf(p, "%s", afhi->tags.title) + 1;
+ p += sprintf(p, "%s", afhi->tags.year) + 1;
+ p += sprintf(p, "%s", afhi->tags.album) + 1;
+ sprintf(p, "%s", afhi->tags.comment);