From 13d94f240c8de7abb422f4547768fc7d8961f7a3 Mon Sep 17 00:00:00 2001 From: Thomas Geymayer Date: Mon, 9 Dec 2013 23:15:35 +0100 Subject: [PATCH] Check return values if write and unlink. --- src/Main/fg_init.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index 0278fe03f..248b62acd 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -410,12 +410,12 @@ bool fgInitHome() #else // POSIX, do open+unlink trick to the file is deleted on exit, even if we // crash or exit(-1) - size_t len = snprintf(buf, 16, "%d", getpid()); + ssize_t len = snprintf(buf, 16, "%d", getpid()); int fd = ::open(pidPath.c_str(), O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0644); if (fd >= 0) { - ::write(fd, buf, len); - ::unlink(pidPath.c_str()); // delete file when app quits - result = true; + result = ::write(fd, buf, len) == len; + if( ::unlink(pidPath.c_str()) != 0 ) // delete file when app quits + result = false; } fgSetBool("/sim/fghome-readonly", false);