From 016ac44bb17ec22ece9c9a578814100bab95e2a5 Mon Sep 17 00:00:00 2001 From: rexy712 Date: Sat, 13 Jan 2018 07:29:50 -0800 Subject: [PATCH] Fixed memory leak --- src/rexbacklight.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; }