diff options
author | Olivier Gayot <olivier.gayot@sigexec.com> | 2018-06-20 13:41:59 +0200 |
---|---|---|
committer | Olivier Gayot <olivier.gayot@sigexec.com> | 2018-06-20 14:20:17 +0200 |
commit | c221b4d331d46d07fe24afc78e4eeb021556d013 (patch) | |
tree | 66846b5f6023291fda2d72fe523d4ee0614d2a1f /src/print_battery_info.c | |
parent | 445b1925e3d2e239740d7765e5892d0671174e8e (diff) |
Prevent potential crash if glob() fails
Calling globfree(NULL) is undefined behaviour. In Linux (glibc), it
results in a segmentation fault.
It is also undefined behaviour to call globfree(&pglob) if a previous
call to glob(&pglob) returned an error.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
Diffstat (limited to 'src/print_battery_info.c')
-rw-r--r-- | src/print_battery_info.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 72c2d6f..04b5a25 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -459,8 +459,8 @@ static bool slurp_all_batteries(struct battery_info *batt_info, yajl_gen json_ge is_found = true; add_battery_info(batt_info, &batt_buf); } + globfree(&globbuf); } - globfree(&globbuf); free(globpath); if (!is_found) { |