diff options
Diffstat (limited to 'app-admin/gamin/files/gamin-0.1.6-doublefree.patch')
-rw-r--r-- | app-admin/gamin/files/gamin-0.1.6-doublefree.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app-admin/gamin/files/gamin-0.1.6-doublefree.patch b/app-admin/gamin/files/gamin-0.1.6-doublefree.patch new file mode 100644 index 000000000000..edef11c9a17f --- /dev/null +++ b/app-admin/gamin/files/gamin-0.1.6-doublefree.patch @@ -0,0 +1,29 @@ +diff --exclude-from=/home/dang/.diffrc -u -ruN gamin-0.1.6.orig/server/gam_connection.c gamin-0.1.6/server/gam_connection.c +--- gamin-0.1.6.orig/server/gam_connection.c 2005-09-08 06:18:13.000000000 -0400 ++++ gamin-0.1.6/server/gam_connection.c 2005-10-25 12:46:18.000000000 -0400 +@@ -387,8 +387,13 @@ + gam_listener_remove_subscription(conn->listener, sub); + gam_remove_subscription(sub); + #ifdef ENABLE_INOTIFY +- if (gam_inotify_is_running()) +- gam_subscription_free(sub); ++ if ((gam_inotify_is_running()) && (!gam_exclude_check(path))) { ++ gam_fs_mon_type type; ++ ++ type = gam_fs_get_mon_type (path); ++ if (type != GFS_MT_POLL) ++ gam_subscription_free(sub); ++ } + #endif + + if (gam_send_ack(conn, req->seq, path, pathlen) < 0) { +@@ -396,7 +401,8 @@ + gam_connection_get_pid(conn)); + } + g_free(path); +- } break; ++ break; ++ } + case GAM_REQ_DEBUG: + #ifdef GAMIN_DEBUG_API + gam_debug_add(conn, req->path, options); |