diff --git a/src/scan-wma.c b/src/scan-wma.c index f55fb6b7..aa1f0d7b 100644 --- a/src/scan-wma.c +++ b/src/scan-wma.c @@ -427,6 +427,9 @@ int wma_parse_extended_content_description(int fd,int size, MP3FILE *pmp3) { int fail=0; int track, tracknumber; char numbuff[40]; + int new_size; + char *tmp; + track = tracknumber = 0; @@ -524,6 +527,15 @@ int wma_parse_extended_content_description(int fd,int size, MP3FILE *pmp3) { if(!pmp3->composer) { pmp3->composer = descriptor_byte_value; descriptor_byte_value = NULL; + } else { + size = strlen(pmp3->composer) + 1 + + strlen(descriptor_byte_value) + 1; + tmp = malloc(size); + if(!tmp) + DPRINTF(E_FATAL,L_SCAN,"malloc: wma_ext_content_descr\n"); + sprintf(tmp,"%s/%s",pmp3->composer,descriptor_byte_value); + free(pmp3->composer); + pmp3->composer=tmp; } } else if(strcasecmp(descriptor_name,"wm/albumartist")==0) { /* get first one only */