Attached patches from upstream, which apply to 1.2.1-6. DSA should be created.

---
Henri Salo
--- src/libFLAC/stream_decoder.c.orig	2014-11-25 13:41:50.280032892 +0200
+++ src/libFLAC/stream_decoder.c	2014-11-25 13:48:39.697566936 +0200
@@ -94,7 +94,7 @@
  *
  ***********************************************************************/
 
-static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
+static const FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
 
 /***********************************************************************
  *
@@ -1386,6 +1386,10 @@
 			id = 0;
 			continue;
 		}
+
+		if(id >= 3)
+			return false;
+
 		if(x == ID3V2_TAG_[id]) {
 			id++;
 			i = 0;
--- src/libFLAC/stream_decoder.c.orig	2014-11-25 13:41:50.280032892 +0200
+++ src/libFLAC/stream_decoder.c	2014-11-25 13:46:21.862277460 +0200
@@ -2726,7 +2726,8 @@
 		if(decoder->private_->frame.header.blocksize < predictor_order) {
 			send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
 			decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
-			return true;
+                	/* We have received a potentially malicious bt stream. All we can do is error out to avoid a heap overflow. */
+	                return false;
 		}
 	}
 	else {

Attachment: signature.asc
Description: Digital signature

Reply via email to