* amd/map.c (free_map_if_success): avoid dereferencing a pointer
authorIon Badulescu <ib42@cs.columbia.edu>
Sun, 25 Apr 2004 23:58:46 +0000 (23:58 +0000)
committerIon Badulescu <ib42@cs.columbia.edu>
Sun, 25 Apr 2004 23:58:46 +0000 (23:58 +0000)
to potentially freed memory

ChangeLog
amd/map.c

index cd59f238d71a3cf944c392c11be0c39ab165bb9f..c7d265742a95169e3449bdb9387d8c6521f814fe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
+
+       * amd/map.c (free_map_if_success): avoid dereferencing a pointer
+       to potentially freed memory
+
 2004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
 
        * minor new port: i386-unknown-freebsd5.2.1.
index 60fe9691f35925a4d1072538ce0be87f9c62622c..aad6663c6c6822fef54d3453a93191ea836e8b06 100644 (file)
--- a/amd/map.c
+++ b/amd/map.c
@@ -37,7 +37,7 @@
  * SUCH DAMAGE.
  *
  *
- * $Id: map.c,v 1.47 2004/01/06 03:56:20 ezk Exp $
+ * $Id: map.c,v 1.48 2004/04/25 23:58:46 ib42 Exp $
  *
  */
 
@@ -804,6 +804,7 @@ free_map_if_success(int rc, int term, opaque_t arg)
 {
   am_node *mp = (am_node *) arg;
   mntfs *mf = mp->am_mnt;
+  wchan_t wchan = get_mntfs_wchan(mf);
 
   /*
    * Not unmounting any more
@@ -853,7 +854,7 @@ free_map_if_success(int rc, int term, opaque_t arg)
   /*
    * Wakeup anything waiting for this unmount
    */
-  wakeup(get_mntfs_wchan(mf));
+  wakeup(wchan);
 }