Quiero hacer un montón de memoria de montón de solo lectura. Para eso he intentado con memalign()
con mprotect()
. Pero de la correspondencia que puedo obtener, memalign asigna memoria lejos del montón de proceso.¿cómo puedo proteger una memoria de montón en Linux?
Quiero hacer que una parte del montón sea de solo lectura. ¿Alguna ayuda sobre eso?
malloc()->mmap()->mprotect()
un pensamiento hipotético, pero no estoy seguro si eso puede ayudar ... ¿Algun código de muestra para implementar arriba?
Necesito proteger la dirección de memoria dentro del montón. con malloc() obtengo una dirección alrededor de 0x10012008 mientras que con mmap() es 0xf7ec9000. Mi intención es hacer que una parte de heap-meory sea de solo lectura para atrapar cualquier trampler que pueda intentar correr a través de ese montón.
Puedo sugerir usar 'MAP_ANONYMOUS' y evitar todo el' fopen() 'e.t.c. ¿rareza? – thkala
Minit nitpick: 'printf' no es [Seguridad asíncrona] (https://www.securecoding.cert.org/confluence/display/seccode/SIG30-C.+Call+only+asynchronous-safe+functions+within+ señal + controladores) – Flexo