From 0d7bab226067a44a9f1b978924e8201a3fa60764 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 24 Oct 2011 23:14:47 +0000 Subject: Mon Oct 24 23:14:47 UTC 2011 --- extra/xfburn/fix_empty_dir_segfault.diff | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 extra/xfburn/fix_empty_dir_segfault.diff (limited to 'extra/xfburn/fix_empty_dir_segfault.diff') diff --git a/extra/xfburn/fix_empty_dir_segfault.diff b/extra/xfburn/fix_empty_dir_segfault.diff new file mode 100644 index 000000000..af3fe07c8 --- /dev/null +++ b/extra/xfburn/fix_empty_dir_segfault.diff @@ -0,0 +1,48 @@ +--- xfburn/xfburn-data-composition.c 2011-02-17 16:37:03.000000000 +0100 ++++ xfburn/xfburn-data-composition_patched.c 2011-02-17 16:40:40.000000000 +0100 +@@ -1874,26 +1874,29 @@ + g_error ("Failed adding %s as a node to the image: code %X!", src, r); + } + +- basename = g_path_get_basename (src); ++ /* Check names only for items not manually created (#613563) */ ++ if (type != DATA_COMPOSITION_TYPE_DIRECTORY || src != NULL) { ++ basename = g_path_get_basename (src); ++ ++ /* check if the file has been renamed */ ++ if (strcmp (basename, name) != 0) { ++ /* rename the iso_node */ ++ r = iso_node_set_name (node, name); ++ ++ if (r == 0) { ++ /* The first string is the renamed name, the second one the original name */ ++ xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src); ++ ++ g_free (basename); ++ g_free (name); ++ g_free (src); + +- /* check if the file has been renamed */ +- if (strcmp (basename, name) != 0) { +- /* rename the iso_node */ +- r = iso_node_set_name (node, name); +- +- if (r == 0) { +- /* The first string is the renamed name, the second one the original name */ +- xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src); +- +- g_free (basename); +- g_free (name); +- g_free (src); +- +- continue; ++ continue; ++ } + } ++ g_free (basename); + } + +- g_free (basename); + g_free (name); + g_free (src); + -- cgit v1.2.3-54-g00ecf