diff --git a/src/rexbacklight.c b/src/rexbacklight.c index ba4d6a9..4ab9aa4 100644 --- a/src/rexbacklight.c +++ b/src/rexbacklight.c @@ -189,7 +189,7 @@ int main(int argc, char** argv){ } //save our starting directory so we can change to each backlight directory (makes logic easier) - const char* starting_dir = getcwd(NULL, 0); + char* starting_dir = getcwd(NULL, 0); if(chdir(backlight_dir)){ fprintf(stderr, "Unable to read backlight sysfs directory!\n"); @@ -215,11 +215,15 @@ int main(int argc, char** argv){ fclose(bright); } free_string_array(&backlight_names); + + //Return to start directory if(chdir(starting_dir)){ + free(starting_dir); fprintf(stderr, "Could not return to starting directory!\nWas the directory moved/deleted?\n"); if(chdir(getenv("HOME")) || chdir("/")){ return -5; } } + free(starting_dir); return 0; }