aboutsummaryrefslogtreecommitdiff
path: root/src/stdlib/files.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/files.c')
-rw-r--r--src/stdlib/files.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/stdlib/files.c b/src/stdlib/files.c
index 7fd4c2c7..88d78676 100644
--- a/src/stdlib/files.c
+++ b/src/stdlib/files.c
@@ -110,9 +110,11 @@ static file_t *_load_file(const char *filename, FILE *file) {
// Convert to relative path (if applicable)
char buf[PATH_MAX];
char *cwd = getcwd(buf, sizeof(buf));
- size_t cwd_len = strlen(cwd);
- if (strncmp(cwd, filename, cwd_len) == 0 && filename[cwd_len] == '/')
- ret->relative_filename = &filename[cwd_len + 1];
+ if (cwd != NULL) {
+ size_t cwd_len = strlen(cwd);
+ if (strncmp(cwd, filename, cwd_len) == 0 && filename[cwd_len] == '/')
+ ret->relative_filename = &filename[cwd_len + 1];
+ }
}
return ret;
}