Seguridad a fondo · Unidad 21 · Lección 1 de 6
La longitud debe caber
Compara una conversión de texto con su capacidad en bytes, incluido el terminador.
Para prepararteSeguridad de memoria: límites y vida útil
Después de esta lección puedes
- Calcula los bytes necesarios a partir de un registro de codificación e identifica la validación pendiente.
Una idea. Una situación. Una decisión razonada.
Cómo funciona
Las operaciones dependen de tamaños, posiciones y vida del destino. Verifica relaciones con abstracciones seguras. Comprobar una longitud no basta si conversión o aritmética cambian el espacio requerido. Un fallo puede revelar un defecto sin demostrar por sí solo una consecuencia de seguridad concreta.
Cuenta lo que almacena la operación
Un campo ficticio de nombre pasa por un adaptador de texto nativo. Su contrato exige bytes UTF-8 seguidos de un byte cero. El informe proporcionado ya cuenta los bytes reales; no necesitas deducirlos del texto visible.
| Registro | Informe de codificación | Destino |
|---|---|---|
| A | Cuatro puntos de código, cuatro bytes | Seis bytes |
| B | Cuatro puntos de código, siete bytes | Seis bytes |
Decisión razonada: A necesita cinco bytes con el terminador, por lo que supera esta comprobación de capacidad. B necesita ocho: faltan dos bytes. Ambos muestran cuatro puntos de código, pero necesitan distinto espacio. Un punto de código es un valor Unicode; no garantiza un byte ni un símbolo visible.
No recortes B silenciosamente a seis bytes. Podrías partir una secuencia codificada u omitir el terminador obligatorio. Utiliza el resultado documentado de la conversión y su comportamiento ante errores. Un destino de ocho bytes elimina el déficit indicado para B, pero la implementación todavía necesita entrada válida, aritmética comprobada y un destino vigente con permiso de escritura. Este cálculo demuestra únicamente la relación de tamaños indicada.
La distinción clave: El espacio depende de codificación y operación.
Compruébate
Sin reloj ni penalizaciones. Lee cada explicación y vuelve a intentarlo cuando quieras.
Las preguntas de esta lección han cambiado. Tu lectura sigue guardada; repasa las preguntas actualizadas.
-
¿Qué conclusión se deduce del registro B y del contrato del adaptador?
Ver la respuesta
Respuesta correcta: Se necesitan ocho bytes; al destino actual le faltan dos. Siete bytes codificados más un terminador requieren ocho bytes. El destino de seis bytes no supera esta comprobación.
Pruébalo
- EscribeEscribe la capacidad necesaria y el espacio que falta para B. Cambia el destino a ocho bytes y explica qué más debe comprobarse antes de aceptar la conversión.