[brasero/gnome-2-28] Fix #598306 - brasero crashed with SIGSEGV in brasero_burn_session_set_image_output_full()



commit 4608d14a88225a74ca6109e6a375b52dcf74a502
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Sun Oct 18 20:17:05 2009 +0200

    Fix #598306 -  brasero crashed with SIGSEGV in brasero_burn_session_set_image_output_full()
    This happened because we used strcmp () on a variable that could sometimes be NULL.

 libbrasero-burn/brasero-session-cfg.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/libbrasero-burn/brasero-session-cfg.c b/libbrasero-burn/brasero-session-cfg.c
index 929a6f9..f1ef45d 100644
--- a/libbrasero-burn/brasero-session-cfg.c
+++ b/libbrasero-burn/brasero-session-cfg.c
@@ -232,7 +232,7 @@ brasero_session_cfg_set_output_image (BraseroBurnSession *session,
 
 	if (format & BRASERO_IMAGE_FORMAT_BIN) {
 		dot = g_utf8_strrchr (image, -1, '.');
-		if (strcmp (suffixes [0], dot)) {
+		if (!dot || strcmp (suffixes [0], dot)) {
 			gboolean res;
 
 			res = brasero_session_cfg_wrong_extension_signal (BRASERO_SESSION_CFG (session));
@@ -255,7 +255,7 @@ brasero_session_cfg_set_output_image (BraseroBurnSession *session,
 		dot = g_utf8_strrchr (toc, -1, '.');
 
 		if (format & BRASERO_IMAGE_FORMAT_CLONE
-		&& strcmp (suffixes [1], dot)) {
+		&& (!dot || strcmp (suffixes [1], dot))) {
 			gboolean res;
 
 			res = brasero_session_cfg_wrong_extension_signal (BRASERO_SESSION_CFG (session));
@@ -271,7 +271,7 @@ brasero_session_cfg_set_output_image (BraseroBurnSession *session,
 			}
 		}
 		else if (format & BRASERO_IMAGE_FORMAT_CUE
-		     && strcmp (suffixes [2], dot)) {
+		     && (!dot || strcmp (suffixes [2], dot))) {
 			gboolean res;
 
 			res = brasero_session_cfg_wrong_extension_signal (BRASERO_SESSION_CFG (session));
@@ -287,7 +287,7 @@ brasero_session_cfg_set_output_image (BraseroBurnSession *session,
 			}
 		}
 		else if (format & BRASERO_IMAGE_FORMAT_CDRDAO
-		     && strcmp (suffixes [3], dot)) {
+		     && (!dot || strcmp (suffixes [3], dot))) {
 			gboolean res;
 
 			res = brasero_session_cfg_wrong_extension_signal (BRASERO_SESSION_CFG (session));



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