Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por Unleashed (8472) el Jueves, 16 Septiembre de 2004, 21:03h (#356294)
    ( http://www.flawedcode.org/ )
    Esas operaciones si son tarea del sistema operativo

    Repito que no.

    A lo que digo no es a "el SO [mediante la MMU] comprueba punteros nulos y límites de arrays".

    la memoria, es un recurso, que el SO tiene que gestionar y repartir.

    Por eso dije que el SO sí debe actuar cuando un proceso intenta acceder donde no debe, lo cual no es lo mismo que comprobar límites de arrays ni punteros nulos.

    Cuando se produce un desbordamiento de pila el SO actua correctamente impidiendo el acceso a recursos que no estan al alcance del proceso.

    Cuando se produce un desbordamiento de pila el SO no actúa en absoluto más allá de lo que ya actuaría sin haberse producido dicho evento. Si actúa no es por el hecho de haberse producido un desbordamiento de pila.

    Tomar la decisión de hacer la comprobación sistematicamente con todo, o con solo los puntos mas vulnerables depende de la naturaleza del programa y del uso que se pretenda hacer del mismo.

    Cuando hablamos de Java, como es el caso, se hacen esas comprobaciones porque el lenguaje funciona así.

    Y no, no se trata de tomar la "decisión" de comprobarlo todo o no: _todo_ hay que comprobarlo, porque si no estamos haciendo las cosas mal. Y cuando no lo comprobamos explícitamente, es porque de alguna otra manera tenemos la garantía de que no es necesario comprobar nada.
    --
    Unix have fun [barrapunto.com]
    [ Padre ]