diff options
author | Karol Lewandowski <k.lewandowsk@samsung.com> | 2019-01-17 12:38:48 +0100 |
---|---|---|
committer | Karol Lewandowski <k.lewandowsk@samsung.com> | 2019-01-17 12:38:48 +0100 |
commit | 11f80fbdbf633b1f396e87d87c08de757fdb1bd4 (patch) | |
tree | 156faba422ba738662ad097a943d228ec1389c2f | |
parent | d233538e2b50d3fe644a64096945ea35fe65495d (diff) | |
download | crash-worker-11f80fbdbf633b1f396e87d87c08de757fdb1bd4.tar.gz crash-worker-11f80fbdbf633b1f396e87d87c08de757fdb1bd4.tar.bz2 crash-worker-11f80fbdbf633b1f396e87d87c08de757fdb1bd4.zip |
svace: fix closing potentially negative fd
This commit fixes following issue reported by svace:
"Variable 'cinfo.prstatus_fd', which may receive negative value at
crash-manager.c:588 by calling function 'set_crash_info' at
crash-manager.c:1267, is used at crash-manager.c:1332 by calling
function 'close'."
Change-Id: Ie625bc8ac5eb16a84bb7b139b569c6189e1a5e25
-rw-r--r-- | src/crash-manager/crash-manager.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/crash-manager/crash-manager.c b/src/crash-manager/crash-manager.c index 1cba5ee..e2c6a0f 100644 --- a/src/crash-manager/crash-manager.c +++ b/src/crash-manager/crash-manager.c @@ -1202,7 +1202,7 @@ static void free_crash_info(struct crash_info *cinfo) int main(int argc, char *argv[]) { - struct crash_info cinfo = {0}; + struct crash_info cinfo = {.prstatus_fd = -1}; /* Execute dump_systemstate in parallel */ static int dump_state_pid; @@ -1319,7 +1319,8 @@ int main(int argc, char *argv[]) launch_crash_popup(&cinfo); exit: - close(cinfo.prstatus_fd); + if (cinfo.prstatus_fd >= 0) + close(cinfo.prstatus_fd); free(crash_temp_path); free(crash_root_path); free(crash_crash_path); |