Estoy estudiando los conceptos básicos de hacer códigos de shell. Tengo una pregunta al respecto.
En mi libro de texto, el autor almacena su código de shell en una variable de entorno e inyecta la dirección usando strcpy()
en un programa.
Cuando hace su código de shell, elimina bytes nulos. Él dice que esto se debe a que strcpy()
se detendrá en bytes nulos.
Sin embargo, creo que, como strcpy()
solo obtiene la dirección de la variable de entorno (almacenando su código de shell), si su código de shell tiene bytes nulos, no importa. Creo que su objetivo es cambiar la dirección de retorno en la ruta de la variable de entorno.
En el libro de texto, un código de shell que tiene bytes nulos no funciona en esta situación, pero un código de shell libre de nulos sí lo hace.
No puedo entender la razón por la que necesitamos eliminar los bytes nulos en esta situación.