summaryrefslogtreecommitdiff
path: root/extra/xfburn/fix_empty_dir_segfault.diff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-10-24 23:14:47 +0000
committerroot <root@rshg054.dnsready.net>2011-10-24 23:14:47 +0000
commit0d7bab226067a44a9f1b978924e8201a3fa60764 (patch)
tree7c17a659e61f8c790e75160fcecc9a9f63df2500 /extra/xfburn/fix_empty_dir_segfault.diff
parentc0bc46632845dfc241d3290d8d3193287eaeb02e (diff)
Mon Oct 24 23:14:47 UTC 2011
Diffstat (limited to 'extra/xfburn/fix_empty_dir_segfault.diff')
-rw-r--r--extra/xfburn/fix_empty_dir_segfault.diff48
1 files changed, 48 insertions, 0 deletions
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);
+