From 823bdbae133afcb00718ab50af85186df2e7b155 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 22 Apr 2014 20:35:57 -0300 Subject: safer code, check result of lstat --- Settings.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Settings.c') diff --git a/Settings.c b/Settings.c index 133a3909..3198cb6b 100644 --- a/Settings.c +++ b/Settings.c @@ -243,12 +243,14 @@ Settings* Settings_new(ProcessList* pl, Header* header, int cpuCount) { htopDir = String_cat(home, "/.config/htop"); } legacyDotfile = String_cat(home, "/.htoprc"); - mkdir(configDir, 0700); - mkdir(htopDir, 0700); + (void) mkdir(configDir, 0700); + (void) mkdir(htopDir, 0700); free(htopDir); free(configDir); struct stat st; - lstat(legacyDotfile, &st); + if (lstat(legacyDotfile, &st) != 0) { + st.st_mode = 0; + } if (access(legacyDotfile, R_OK) != 0 || S_ISLNK(st.st_mode)) { free(legacyDotfile); legacyDotfile = NULL; -- cgit v1.2.3