e73e175b93431b935661a83b570f7ba856354c37 — emersion 5 months ago 9be815b
Error out when getcwd fails
1 files changed, 5 insertions(+), 2 deletions(-)

M main.c
M main.c => main.c +5 -2
@@ 111,7 111,10 @@ const char *pwd = mrsh_env_get(&state, "PWD", NULL);
  	if (pwd == NULL || strlen(pwd) >= PATH_MAX) {
  		char cwd[PATH_MAX];
- 		getcwd(cwd, PATH_MAX);
+ 		if (getcwd(cwd, PATH_MAX) == NULL) {
+ 			fprintf(stderr, "getcwd failed: %s\n", strerror(errno));
+ 			return EXIT_FAILURE;
+ 		}
  		mrsh_env_set(&state, "PWD", cwd, MRSH_VAR_ATTRIB_EXPORT);
  	}
  


@@ 141,7 144,7 @@ if (init_args.command_file) {
  				fd = open(init_args.command_file, O_RDONLY | O_CLOEXEC);
  				if (fd < 0) {
- 					fprintf(stderr, "failed to open %s for reading: %s",
+ 					fprintf(stderr, "failed to open %s for reading: %s\n",
  						init_args.command_file, strerror(errno));
  					return EXIT_FAILURE;
  				}