[tracker/tracker-0.6] Fixes NB#126696, Tracker extractor crashes while extracting a corrupted music file



commit 7326437bc5c0dd80f8742e2423393cd5e0b3d569
Author: Mikael Ottela <mikael ottela ixonos com>
Date:   Fri Oct 9 13:11:45 2009 +0300

    Fixes NB#126696, Tracker extractor crashes while extracting a corrupted music file

 src/tracker-extract/tracker-extract-mp3.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-mp3.c b/src/tracker-extract/tracker-extract-mp3.c
index 6af7f18..e081a49 100644
--- a/src/tracker-extract/tracker-extract-mp3.c
+++ b/src/tracker-extract/tracker-extract-mp3.c
@@ -1740,6 +1740,10 @@ parse_id3v24 (const gchar *data,
 			    ((data[12] & 0x7F) << 7) |
 			    ((data[13] & 0x7F) << 0));
 		pos += ehdrSize;
+
+		if (tsize + 10 + ehdrSize > size) {
+			return;
+		}
 	}
 
 	if (unsync) {
@@ -1809,6 +1813,10 @@ parse_id3v23 (const gchar *data,
 
 		pos += 4 + ehdrSize;
 
+		if (tsize + 10 + ehdrSize + padding > size) {
+			return;
+		}
+
 		if (padding < tsize) {
 			tsize -= padding;
 		} else {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]