From e83cf52aa7af025feb5c90d6b7f68fa68e9d7b42 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 14 Mar 2009 16:06:49 +0000 Subject: [PATCH] Ensure that our stat buffer is available when opening. Otherwise reads could fail and the O_TRUNC might be overwritten as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29520 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/file_systems/layers/write_overlay/write_overlay.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp index 9bb2c8ab62..dae23864ae 100644 --- a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp +++ b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp @@ -356,6 +356,9 @@ OverlayInode::Create(const char *name, int openMode, int perms, void **cookie, status_t OverlayInode::Open(int openMode, void **_cookie) { + if (!fHasStat) + ReadStat(NULL); + if (fIsVirtual) { if (openMode & O_TRUNC) fStat.st_size = 0;