Todas las lecciones Read in English

Seguridad a fondo · Unidad 21 · Lección 3 de 6

La aritmética tiene límites

Comprueba el espacio calculado frente a los límites aritméticos y de la aplicación.

4 minlistaLección breve

Para prepararteSeguridad de memoria: límites y vida útil

Ver todas las lecciones de este tema

Después de esta lección puedes

  • Distingue un cálculo que supera su representación de otro que supera un límite de política.

Una idea. Una situación. Una decisión razonada.

Cómo funciona

Un tipo entero tiene un rango y reglas de comportamiento al superarlo. Signo, conversiones y multiplicación pueden alterar tamaños antes de operar con memoria. Aplica reglas reales del lenguaje y operaciones comprobadas cuando corresponda. Una entrada positiva no demuestra validez de cada tamaño derivado.

Valores de entrada → Aritmética comprobada → Tamaño válidoValores de entradaAritmética comprobadaTamaño válido
Sigue la relación: Valores de entrada → Aritmética comprobada → Tamaño válido.

Un cálculo debe cumplir dos límites

Un componente ficticio de importación reserva espacio para registros de tamaño fijo. Su campo de tamaño representa enteros entre 0 y 65 535. La aplicación limita cada reserva a 48 000 bytes. En este ejercicio no hay cabeceras ni terminadores.

Petición Cantidad de registros Bytes por registro
A 3 000 24
B 2 100 24

Decisión razonada: A necesita 72 000 bytes, más de lo que puede representar el campo. B necesita 50 400: cabe en ese campo, pero supera el límite de la aplicación. Ninguna petición cumple ambos requisitos.

Aquí se permiten como máximo 2 000 registros completos, porque 2 000 × 24 equivale a 48 000. La implementación debe comprobar la multiplicación o establecer un límite seguro equivalente antes de confiar en el resultado. Ampliar el campo podría resolver el problema de representación de A, pero no cambia la política de la aplicación.

No predigas un resultado universal cuando la aritmética sale de rango: depende del lenguaje, el tipo y la operación. La revisión debe identificar esas reglas y especificar el rechazo u otro tratamiento documentado. Que los valores individuales sean positivos no demuestra que el tamaño derivado sea seguro.

La distinción clave: Valores individuales válidos no garantizan combinación válida.

Compruébate

Sin reloj ni penalizaciones. Lee cada explicación y vuelve a intentarlo cuando quieras.

  1. ¿Qué evaluación aplica correctamente ambos límites?

    Ver la respuesta

    Respuesta correcta: A supera la representación y la política; B supera la política aunque su tamaño sea representable. Los productos son 72 000 y 50 400 bytes. Ambos superan 48 000; solo A también supera 65 535.

Pruébalo

  • EscribeEscribe la decisión para A y B, mostrando cantidad por tamaño de registro. Calcula después la mayor cantidad de registros completos permitida por el límite de la aplicación.
Referencias