[brasero] Try again to fix #606010 - crashes at audio CD insertion



commit 4fb271c0c8bfb7d04d5acd2500f760e4c14a02d4
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Mon Jul 19 14:01:01 2010 +0200

    Try again to fix #606010  - crashes at audio CD insertion

 libbrasero-media/brasero-medium.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/libbrasero-media/brasero-medium.c b/libbrasero-media/brasero-medium.c
index 80c41ef..a8e24f8 100644
--- a/libbrasero-media/brasero-medium.c
+++ b/libbrasero-media/brasero-medium.c
@@ -2791,10 +2791,14 @@ brasero_medium_read_CD_TEXT (BraseroMedium *self,
 		return;
 	}
 
-	/* Get the number of CD-Text Data Packs */
-	num = (BRASERO_GET_16 (cd_text->hdr->len) -
-	      (sizeof (BraseroScsiTocPmaAtipHdr) - sizeof (cd_text->hdr->len)))  /
-	       sizeof (BraseroScsiCDTextPackData);
+	/* Get the number of CD-Text Data Packs.
+	 * Some drives seem to report an idiotic cd_text->hdr->len. So use size
+	 * to be on the safe side. */
+	num = (size - sizeof (BraseroScsiTocPmaAtipHdr)) / sizeof (BraseroScsiCDTextPackData);
+	if (num <= 0) {
+		g_free (cd_text);
+		return;
+	}
 
 	priv = BRASERO_MEDIUM_PRIVATE (self);
 



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