From 9f7bc01f11545c890b12655b4a832dcf3b6d2178 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Mon, 19 Jul 2010 12:45:33 +0200 Subject: [PATCH] Fixed segfault when launched on a nonexistant directory Forgot to check the return value of path_absolute() in path_real(), path_absolute() would return an error when getcwd() fails. Fixes bug #3012787. --- ChangeLog | 1 + src/path.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f196d6b..dc819ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ git - ? - Count the size of a hard linked file once for each directory it appears in - Fixed crash on browsing dirs with a small window size (#2991787) - Fixed buffer overflow when some directories can't be scanned (#2981704) + - Fixed segfault when launched on a nonexistant directory (#3012787) - Fixed segfault when root dir only contains hidden files - Improved browsing performance - More intuitive multi-page browsing diff --git a/src/path.c b/src/path.c index 24243d6..98a7a17 100644 --- a/src/path.c +++ b/src/path.c @@ -201,7 +201,8 @@ char *path_real(const char *orig) { if(orig == NULL) return NULL; - tmp = path_absolute(orig); + if((tmp = path_absolute(orig)) == NULL) + return NULL; ret = path_real_rec(tmp, &links); free(tmp); return ret;