summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Lewandowski <k.lewandowsk@samsung.com>2019-01-17 12:38:48 +0100
committerKarol Lewandowski <k.lewandowsk@samsung.com>2019-01-17 12:38:48 +0100
commit11f80fbdbf633b1f396e87d87c08de757fdb1bd4 (patch)
tree156faba422ba738662ad097a943d228ec1389c2f
parentd233538e2b50d3fe644a64096945ea35fe65495d (diff)
downloadcrash-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.c5
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);