From b67f216be63ebde58c08e7fc4331afd610a24502 Mon Sep 17 00:00:00 2001
From: Miklos Szeredi <miklos@szeredi.hu>
Date: Mon, 20 Feb 2006 10:55:33 +0000
Subject: [PATCH] merge 2_5_bugfix branch

---
 ChangeLog   | 8 ++++++++
 lib/fuse.c  | 3 ++-
 lib/mount.c | 2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d6a1d1b..a18c55a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix use-after-free bug in interruptred reply_entry().
+	Patch from John Muir
+
+	* libfuse: fix wrong symbol versioning for fuse_mount.  Debian bug
+	ID: 352631.  Found by Stéphane Rosi
+
 2006-02-17  Miklos Szeredi <miklos@szeredi.hu>
 
 	* Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
diff --git a/lib/fuse.c b/lib/fuse.c
index f930404..0ce05a6 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -603,8 +603,9 @@ static void reply_entry(fuse_req_t req, const struct fuse_entry_param *e,
                         int err)
 {
     if (!err) {
+        struct fuse *f = req_fuse(req);
         if (fuse_reply_entry(req, e) == -ENOENT)
-            forget_node(req_fuse(req), e->ino, 1);
+            forget_node(f, e->ino, 1);
     } else
         reply_err(req, err);
 }
diff --git a/lib/mount.c b/lib/mount.c
index 2840a54..0a14df3 100644
--- a/lib/mount.c
+++ b/lib/mount.c
@@ -292,4 +292,4 @@ int fuse_mount_compat1(const char *mountpoint, const char *args[])
     return fuse_mount_compat22(mountpoint, NULL);
 }
 
-__asm__(".symver fuse_mount_compat22,fuse_mount@");
+__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2");
-- 
2.30.2