gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r8629 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r8629 - gnunet/src/util
Date: Sun, 5 Jul 2009 15:13:40 -0600

Author: grothoff
Date: 2009-07-05 15:13:39 -0600 (Sun, 05 Jul 2009)
New Revision: 8629

Modified:
   gnunet/src/util/disk.c
Log:
fixing segv under linux due to unused w32-specific handle being dereferenced on 
unmap

Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c      2009-07-05 20:53:19 UTC (rev 8628)
+++ gnunet/src/util/disk.c      2009-07-05 21:13:39 UTC (rev 8629)
@@ -1243,7 +1243,7 @@
       return NULL;
     }
 
-  *m = (struct GNUNET_IO_Handle *) GNUNET_malloc (sizeof (struct 
GNUNET_IO_Handle));
+  *m = GNUNET_malloc (sizeof (struct GNUNET_IO_Handle));
   (*m)->h = CreateFileMapping (h->h, NULL, protect, 0, 0, NULL);
   if ((*m)->h == INVALID_HANDLE_VALUE)
     {
@@ -1269,7 +1269,7 @@
     prot = PROT_READ;
   if (access & GNUNET_DISK_MAP_WRITE)
     prot |= PROT_WRITE;
-
+  *m = NULL;
   return mmap (NULL, len, prot, MAP_SHARED, h->fd, 0);
 #endif
 }
@@ -1287,7 +1287,7 @@
 #ifdef MINGW
   int ret;
 
-  if (h == NULL || *h == NULL)
+  if  ( (h == NULL) || (*h == NULL) )
     {
       errno = EINVAL;
       return GNUNET_SYSERR;
@@ -1308,10 +1308,7 @@
 
   return ret;
 #else
-  int ret;
-  ret = munmap (addr, len) != -1 ? GNUNET_OK : GNUNET_SYSERR;
-  GNUNET_DISK_handle_invalidate (*h);
-  return ret;
+  return munmap (addr, len) != -1 ? GNUNET_OK : GNUNET_SYSERR;
 #endif
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]