Bir şekilde ayrılmış bellek salt okunur bir parça işareti var mı?
eğer ben ayrılamadı eğer bazı hafıza malloc()
kullanarak işaretlemek için bir yol salt okunur. Yani memcpy() başarısız biri yazma girişimi?
Bu kullanıcılar Bayan-kullanarak, sabit bir işaretçi büyük bellek yapısının bir parçası olan bir yöntem GetValue()
tarafından döndürülür nerede hatalı apı tasarım bağlı. Hafızanın büyük kısmını kopyalama önlemek istiyorum çünkü biz belirli bir biçimi olan yapılandırılmış bir bellek içinde canlı bir işaretçi döndürür. Şimdi sorun, bazı kullanıcı hack var bu hafıza doğrudan yazarak şeyler çalışma almak için bulmak ve Görüntülemek için önlemek() ayırma ve geliştirdiğimiz belleği düzgün ikili biçimde teslim diyor. Bir ara hack işi olsa da ama bir ara bellek erişim ihlali kullanıcı tarafından geçersiz olmuştur kontrol bayrakların yanlış yorumlanması nedeniyle neden olur.
Eğitmek kullanıcı bir iştir ama şimdi istiyoruz ki başarısız kod verin.
Eğer sadece bu davaya karşı koruyabiliriz merak ediyorum.
Örneğin, birileri sqlite ifadesinden bir blob sütun al ve buraya yaz o zaman kabul. Sqlite durumda da mantıklı ama bu bizim durumumuzda biraz happing.
CEVAP
Çoğu donanım mimarileri yalnızca tüm memory pages; Bir sayfa bir parça işareti yapamazsın özniteliklerini salt okunur koruma değiştirebilirsiniz.
İlgili API
mprotect()
Unıx;- Windows
VirtualProtect()
.
Bellek sayfa salt okunur yapmak istemediğiniz bir şey içermediğinden emin olmak gerekir. Bunu yapmak için, ya da malloc()
ile overallocate ya da farklı ayırma API, mmap()
, posix_memalign()
VirtualAlloc()
gibi kullanacağız.
`Salt okunur` C gibi bir alan işaretle...
Salt okunur SEÇENEĞİNİ etiketi HTML fo...
Sabit ve salt okunur arasındaki fark n...
Şimdiye kadar *OK* ücretsiz kullanım()...
Nasıl PostgreSQL içinde salt okunur bi...