aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <benjamin@barenblat.name>2011-07-26 19:37:05 -0400
committerGravatar Benjamin Barenblat <benjamin@barenblat.name>2011-07-26 19:44:04 -0400
commitd600ff1f154a9dff61badd86127d0c7ab5dd9a8a (patch)
tree43fea5697b65fa6ea4d8a2b0e9771f532c6284c1
parent90d2930aacda57538f1e9e05acc18e8e80481de3 (diff)
flac_tag: fix segfault when setting picture description to ""
Flac_Tag_Write_File_Tag now checks to make sure the picture description string is non-null before attempting to set it. (Passing a null pointer to FLAC__metadata_object_picture_set_description violates that function's contract; see http://flac.sourceforge.net/api/group__flac__metadata__object.html#ga43). This brings Flac_Tag_Write_File_Tag's behavior in line with that of the analogous functions for Ogg and ID3 tags.
-rw-r--r--src/flac_tag.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/flac_tag.c b/src/flac_tag.c
index 19c4c48..2c04abc 100644
--- a/src/flac_tag.c
+++ b/src/flac_tag.c
@@ -1085,7 +1085,10 @@ gboolean Flac_Tag_Write_File_Tag (ET_File *ETFile)
FLAC__metadata_object_picture_set_mime_type(picture_block, (gchar *)Picture_Mime_Type_String(format), TRUE);
// Description
- FLAC__metadata_object_picture_set_description(picture_block, (FLAC__byte *)pic->description, TRUE);
+ if (pic->description)
+ {
+ FLAC__metadata_object_picture_set_description(picture_block, (FLAC__byte *)pic->description, TRUE);
+ }
// Resolution
picture_block->data.picture.width = pic->width;