hboissel / minishell

simple bash posix
0 stars 0 forks source link

Invalid read with empty env var #51

Closed hboissel closed 1 year ago

hboissel commented 1 year ago
minishell$ export null=
minishell$ echo $null
==402721== Invalid read of size 1
==402721==    at 0x40630C: trim_fields (split_fields.c:22)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x40B148: ft_strlen (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x406370: trim_fields (split_fields.c:25)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd78 is 24 bytes after a block of size 16 in arena "client"
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x40B28E: ft_memmove (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x406384: trim_fields (split_fields.c:25)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd78 is 24 bytes after a block of size 16 in arena "client"
==402721== 
==402721== Invalid write of size 1
==402721==    at 0x40B29F: ft_memmove (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x406384: trim_fields (split_fields.c:25)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x40B148: ft_strlen (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x4063C8: trim_fields (split_fields.c:31)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid write of size 1
==402721==    at 0x406431: trim_fields (split_fields.c:34)
==402721==    by 0x406258: split_fields (split_fields.c:153)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x40651D: expand_blocks (split_fields.c:135)
==402721==    by 0x406291: split_fields (split_fields.c:157)
==402721==    by 0x403152: expand_argument (parser_env.c:42)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==    by 0x401323: main (main.c:17)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x4050A2: count_shards (get_wildcard_shards.c:28)
==402721==    by 0x404FC8: get_wildcard_shards (get_wildcard_shards.c:166)
==402721==    by 0x404B3F: expand_wildcard (expand_wildcards.c:117)
==402721==    by 0x404AB2: expand_wildcards (expand_wildcards.c:138)
==402721==    by 0x403170: expand_argument (parser_env.c:44)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==    by 0x40AEC0: main_loop (minishell.c:99)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
==402721== Invalid read of size 1
==402721==    at 0x40B148: ft_strlen (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40B714: ft_strdup (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x406B24: init_replace_content (replace_content.c:21)
==402721==    by 0x40698C: replace_content_elem (replace_content.c:47)
==402721==    by 0x4068F7: replace_content (replace_content.c:86)
==402721==    by 0x403192: expand_argument (parser_env.c:46)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721==  Address 0x4b7fd51 is 0 bytes after a block of size 1 alloc'd
==402721==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==402721==    by 0x40B930: ft_strjoin (in /mnt/nfs/homes/hboissel/Documents/minishell/minishell)
==402721==    by 0x40246E: insert_value_var (parser_env_utils_more.c:63)
==402721==    by 0x402DDC: put_var_env_elem (parser_env_more.c:63)
==402721==    by 0x406C5F: expand_var (expand_var.c:28)
==402721==    by 0x403128: expand_argument (parser_env.c:40)
==402721==    by 0x402FC6: put_var_env (parser_env.c:69)
==402721==    by 0x4090E8: verif_simple_cmd (verif_simple_cmd.c:65)
==402721==    by 0x408EEF: exec_simple_cmd (exec_simple_cmd.c:47)
==402721==    by 0x409984: exec_pipeline (exec_pipeline.c:84)
==402721==    by 0x40A43D: eval_exec (eval_exec.c:31)
==402721==    by 0x40B02C: process_line (minishell.c:61)
==402721== 
P