From 9f7bc01f11545c890b12655b4a832dcf3b6d2178 Mon Sep 17 00:00:00 2001
From: Yorhel <git@yorhel.nl>
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;
-- 
GitLab