Преглед изворни кода

The length given to msync was calculated wrong :/.

Jay Freeman (saurik) пре 9 година
родитељ
комит
89cb5d4dd7
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      apt-pkg/contrib/mmap.cc

+ 2 - 1
apt-pkg/contrib/mmap.cc

@@ -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
       }