aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-10-11 21:11:57 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-10-11 21:11:57 +0200
commit1352a826b11148a23633504c9d3c246aeaacb1f7 (patch)
treea9e6a44592c2a9fc185037a5f679a4f26bc80cb1
parenta4ceb5974d1b7dcdd12cc81b7eb07893ea16c8ad (diff)
downloadminishell-1352a826b11148a23633504c9d3c246aeaacb1f7.tar.gz
minishell-1352a826b11148a23633504c9d3c246aeaacb1f7.tar.bz2
minishell-1352a826b11148a23633504c9d3c246aeaacb1f7.zip
Fixing empty cd segfault
m---------libft0
m---------minishell_test0
-rw-r--r--src/builtin/cd.c11
3 files changed, 5 insertions, 6 deletions
diff --git a/libft b/libft
-Subproject 39951f08a2938683d800c677c3a244e9ff8dbe1
+Subproject c33343322ef66d96337533082313b1256862023
diff --git a/minishell_test b/minishell_test
-Subproject fb0a727a9885b80b855f470ae6d5c1bfac61443
+Subproject a36a27b8ca85adf57b2a9926a53e74e3a3863d3
diff --git a/src/builtin/cd.c b/src/builtin/cd.c
index a350cf4..b566272 100644
--- a/src/builtin/cd.c
+++ b/src/builtin/cd.c
@@ -6,7 +6,7 @@
/* By: charles <charles@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 17:10:20 by charles #+# #+# */
-/* Updated: 2020/10/09 12:44:55 by cacharle ### ########.fr */
+/* Updated: 2020/10/11 21:11:40 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -37,13 +37,12 @@ int builtin_cd(char **argv, t_env env)
if (argv[1] != NULL && argv[1][0] == '\0')
return (env_export(env, "OLDPWD", oldwd) == NULL ? EVAL_FATAL : 0);
if (argv[1] == NULL)
- {
if ((home = env_search(env, "HOME", NULL)) == NULL)
return (errorf_ret(1, "cd: HOME not set\n"));
- argv[1] = home;
- }
- if (chdir(argv[1]) == -1)
- return (errorf_ret(1, "cd: %s: %s\n", argv[1], strerror(errno)));
+ else
+ home = argv[1];
+ if (chdir(home) == -1)
+ return (errorf_ret(1, "cd: %s: %s\n", home, strerror(errno)));
if (env_export(env, "OLDPWD", oldwd) == NULL)
return (EVAL_FATAL);
if (getcwd(cwd, PATH_MAX) == NULL)