From eed5052ce855652ed067ea861b588b327535af75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Thu, 20 Feb 2020 18:46:45 +0100 Subject: [PATCH] main: check return value of getcwd() --- main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index 7709e05c..0e22d0d8 100644 --- a/main.c +++ b/main.c @@ -314,10 +314,14 @@ main(int argc, char *const *argv) char *cwd = NULL; { + errno = 0; size_t buf_len = 1024; do { cwd = realloc(cwd, buf_len); - getcwd(cwd, buf_len); + if (getcwd(cwd, buf_len) == NULL && errno != ERANGE) { + LOG_ERRNO("failed to get current working directory"); + goto out; + } buf_len *= 2; } while (errno == ERANGE); }