diff options
Diffstat (limited to 'media-sound/grip/files/grip-3.3.1-invalid-genre-size.patch')
-rw-r--r-- | media-sound/grip/files/grip-3.3.1-invalid-genre-size.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/media-sound/grip/files/grip-3.3.1-invalid-genre-size.patch b/media-sound/grip/files/grip-3.3.1-invalid-genre-size.patch new file mode 100644 index 000000000000..c826fc6e2e80 --- /dev/null +++ b/media-sound/grip/files/grip-3.3.1-invalid-genre-size.patch @@ -0,0 +1,30 @@ +http://bugs.gentoo.org/285105 + +--- grip-3.3.1/src/id3.c ++++ grip-3.3.1/src/id3.c +@@ -252,8 +252,8 @@ + + if ( frames[ i ] ) { + char *c_data = NULL; +- char gen[ 5 ] = "( )"; +- char trk[ 4 ] = " "; ++ char gen[ 6 ] = "( )"; /* max unsigned char: 255 */ ++ char trk[ 3 ] = " "; /* max CDDA tracks: 99 */ + + switch( frameids[ i ] ) { + case ID3FID_TITLE: +@@ -278,12 +278,12 @@ + + case ID3FID_CONTENTTYPE: + c_data = gen; +- sprintf( gen, "(%d)", genre ); /* XXX */ ++ snprintf( gen, 6, "(%d)", genre ); + break; + + case ID3FID_TRACKNUM: + c_data = trk; +- sprintf( trk, "%d", tracknum ); /* XXX */ ++ snprintf( trk, 3, "%d", tracknum ); + break; + + default: |