From: sangwan.kwon Date: Fri, 17 Feb 2017 03:54:52 +0000 (+0900) Subject: Add descriptor check before creating X-Git-Tag: submit/tizen/20170410.073400~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2170e3910806f118ee24009abdadd9a379bbec32;p=platform%2Fcore%2Fsecurity%2Fklay.git Add descriptor check before creating Descriptor can be leaked when (open | create) called continuously. Change-Id: If5be52386ab189ce16cfcfebbdd0d0fbeb49207f Signed-off-by: sangwan.kwon --- diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 9782144..e8bfbbe 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -180,6 +180,10 @@ size_t File::size() const void File::create(mode_t mode) { + if (descriptor != -1) { + close(); + } + while (1) { descriptor = ::creat(path.c_str(), mode); if (descriptor == -1) { @@ -194,6 +198,10 @@ void File::create(mode_t mode) void File::open(int flags) { + if (descriptor != -1) { + close(); + } + while (1) { descriptor = ::open(path.c_str(), flags); if (descriptor == -1) {