]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/mmap.cc
The length given to msync was calculated wrong :/.
[apt.git] / apt-pkg / contrib / mmap.cc
index 4c58a096dc389895f3dba6f080d73baef7b61d48..cb73fbc5d03907d563aedbe31cb988b10891b8fb 100644 (file)
@@ -202,7 +202,8 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop)
       {
 #ifdef _POSIX_SYNCHRONIZED_IO
         unsigned long long const PSize = sysconf(_SC_PAGESIZE);
-        if (msync((char *)Base+(Start/PSize)*PSize, Stop - Start, MS_SYNC) < 0)
+         Start = (Start/PSize)*PSize;
+        if (msync((char *)Base+Start, Stop - Start, MS_SYNC) < 0)
            return _error->Errno("msync", _("Unable to synchronize mmap"));
 #endif
       }