diff options
| author | Olivier Gayot | 2018-06-20 13:41:59 +0200 | 
|---|---|---|
| committer | Olivier Gayot | 2018-06-20 14:20:17 +0200 | 
| commit | c221b4d331d46d07fe24afc78e4eeb021556d013 (patch) | |
| tree | 66846b5f6023291fda2d72fe523d4ee0614d2a1f | |
| parent | Fix potential memory leak on Linux (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>
| -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) { | 
