Did almost work...

if (pTitle != NULL) free(pTitle);
if (pArti != NULL) free(pArti);
pTitle = NULL;
pArti = NULL;
if (fatlseek(playstate.ps_fd, -128, SEEK_END ) != 0) {
pCBuffer = (char*)malloc(128);
FATFileRead(playstate.ps_fd, pCBuffer, 128);
if (memcmp(pCBuffer, "TAG", 3) == 0) {
cGenre = pCBuffer[127];
sYear = ((pCBuffer[93]-48)*1000)+((pCBuffer[94]-48)*100)+((pCBuffer[95]-48)*10)+(pCBuffer[96]-48);
if (pCBuffer[33] != NULL) {
pCBuffer[63] = NULL;
pArti = (char*)malloc(strlen(pCBuffer+33));
strcpy(pArti, pCBuffer+33);
}
if (pCBuffer[3] != NULL) {
pCBuffer[33] = NULL;
pTitle = (char*)malloc(strlen(pCBuffer+3));
strcpy(pTitle,pCBuffer+3);
}
}
free(pCBuffer);
}
fatlseek(playstate.ps_fd,0,SEEK_SET);
And in update_playinfo (main.c)
if (pArti != NULL) lcd_text2(4, 85, WHITE,BLACK, pArti);
if (pTitle != NULL) lcd_text2(4, 94, WHITE,BLACK, pTitle);
And some declarations in main.c
char* pTitle;
char* pArti;
short sYear;
char cGenre;